Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters

Reply
 
Thread Tools

C# ic harc
Old 17.07.2007, 18:14   #1
Академик
 
Join Date: 01 2002
Location: Shambala
Age: 45
Posts: 7,016
Rep Power: 6
Default C# ic harc

Zoxovurd uxexs cakvav mi ban sxal em anum ha errora tali

uremn xndirs dasakana

ka MDI application.

MainForm u mek el ChildForm

uzum em ChildForm pakveluc xabar ani MaiNForm in vor pakvela

Dra hamar delegat,event u argument er em haytararum ChildForm i class um senc

publicclassUserRequestEventArgs : EventArgs
{
publicstring Message;
public UserRequestEventArgs(string s)
{
Message = s;
}
}
publicdelegatevoidUserRequest(object sender, UserRequestEventArgs e);
publiceventEventHandler<UserRequestEventArgs> OnUserRequest;


heto ed nuyn CHildForm i classum grum em vor pakveluc

...
if (OnUserRequest != null)
{
UserRequestEventArgs mtcea =
newUserRequestEventArgs("Message from OnOneSecond");
erRequest(sender, mtcea);
}
this.Close();
...

u mek el MAIN FORM i classum

frm.OnUserRequest += newfrmMain.UserRequest();


u mek el asum em ed nuyn MAINFROM um vor

privatevoid UserReq(object sender, UserRequestEventArgs e)
{
MessageBox.Show( e.Message.ToString());
}

vortex frm ed childform i arden stexcac instance a, isk frmMain el MAIN FORMNA

inchna ste sxal zoxovurd???

compile chi linum

xndrum em es xndir asxhatacneq motnerd henc stacvi (henc CHILD formen pakes main forum MessageBox.SHow lini) aseq grem tesnem.
__________________
Ախպեր դու էմիգրացիան տուրիզմի հետ մի խառնի...

http://moskull.livejournal.com/

Old 18.07.2007, 15:55   #2
Академик
 
Join Date: 01 2002
Location: Shambala
Age: 45
Posts: 7,016
Rep Power: 6
Default

ste C# imacox chka vor uzena indz ogni ?

Old 02.08.2007, 17:21   #3
Creator
 
Join Date: 06 2002
Location: Sliema, Malta
Age: 45
Posts: 28
Rep Power: 0
Default

I think in MainForm you should add your event hadler in this way:

frm.OnUserRequest += new UserRequest(frmMain.UserReq);

Old 03.08.2007, 07:23   #4
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 42
Posts: 21,717
Rep Power: 9
Default

Quote:
Originally Posted by Michellangelo
frm.OnUserRequest += new UserRequest(frmMain.UserReq);
или если .NET2.0 или старше просто += frmMain.UserReq.

Но проблема тут в дизайне и не совсем ясно, как будешь потом отписываться от евента, ведь дочерняя форма-то уже может быть диспознутой. Так можно и мемори ликов нахвататься.

Old 03.08.2007, 13:54   #5
Академик
 
Join Date: 01 2002
Location: Shambala
Age: 45
Posts: 7,016
Rep Power: 6
Default

zzvum em es anasun C sharp ic C++ ov u Windows messaging ov hastat aveli hamar er, ste dllimport ban man eeheeee

Old 03.08.2007, 14:09   #6
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 42
Posts: 21,717
Rep Power: 9
Default

Уфффф....

Old 17.08.2007, 12:53   #7
Академик
 
TigrOm's Avatar
 
Join Date: 06 2004
Location: Yerevan
Posts: 9,326
Rep Power: 7
Default

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class ChildForm : Form
    {
        public ChildForm()
        {
            InitializeComponent();
        }
    }
}
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class MDIForm : Form
    {

        ChildForm chilForm = new ChildForm();
        public MDIForm()
        {
            InitializeComponent();
            chilForm.Show(this);
            chilForm.FormClosed += new FormClosedEventHandler(OnFormClosed);
        }

        private void OnFormClosed(object sender, FormClosedEventArgs e)
        {
            MessageBox.Show(e.CloseReason.ToString());
        }
    }
}
Но ИМХО есть технологии которые избавят от написания такого кода. Smart Client Software Factory (CAB) и подобные...
Reply




Реклама:
реклама

All times are GMT. The time now is 14:18.
Top

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.