• سی شارپ : دسترسی به کنترل های دیگر فرم ها در فرم 1
    #1
    Note 
    سلام
    من 5تا فرم دارم که میخوام از TextBox های فرم های 2 و 3 و 4 در فرم یک استفاده کنم
    من توی فرم 1 یک سوکت تعریف کردم و الآن نیاز دارم که از TextBox های دیگه ای که توی فرم های 2 و 3 و 4 هست استفاده کنم
    در vb6 مثلا اگه میخواستی از کنترل TextBox که در فرم مثلا 2 هست توی فرم 1 استفاده کنی از این دستور استفاده میشه :
    Form2.Textbox1.Text
    یا برعکس اگه بخواستی از چیز های 2 و 1 همزمان استفاده کنی ، فقط باید اول نام اون فرم رو اول مینوشتی و با خیال راحت کد نویسی میکردی ، اما توی سی شارپ اینجوری نیست ، لطفا یکی راهنمایی کنه یا سورس بده

    ممنون

    پاسخ
    #2
    Note 
    سلام
    اگر بخواید کنترلهای فرم تو فرم های دیگه دیده بشن باید اول اون رو انتخاب کرده و از منوی Peroperties گزینه Modifiers رو روی public بذارید.

    بعد باید یه instance از کلاس form2 یا فرمهای دیگه تو فرم اول بسازید تا به کنترل های پابلیک شده اون فرم دسترسی داشته باشید
    [CSHARP]Form2 frm2 = new Form2();[/CSHARP]

    برای نمایش دادن فرم:
    [CSHARP]frm2.Show();[/CSHARP]

    برای تغییر مثلا متن کنترل:
    [CSHARP]frm2.textBox1.Text = "Modified";[/CSHARP]

    کد کامل(فرم 1):
    [CSHARP]namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    Form2 frm2 = new Form2();
    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    frm2.textBox1.Text = "Modified";
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    frm2.Show();
    }
    }
    }[/CSHARP]

    پاسخ
    #3
    Note 
    سلام من نگفتم میخوام مثلا txtbox1 که در فرم 2 هست توی فرم 1 نمایش داده بشه ، من میخوام ازش توی سوکت نویسی استفاده کنم ، سوکتمو توی فرم 1 تعریف کردم و فرم 2 ( مربوط به چت شخصی میباشد) میخوام اگه یکی اومد pv درجا بره پیامش در اونجا نمایش داده بشه
    این کدی هست که برای نمایش چت شخصی استفاده میشود که در فرم 1 و در Void پیام ها باید نوشت :
    [CSHARP]
    else if (msg.Type == MessageType.chat)
    {
    formpvchat.DefaultInstance.Text = msg.From.User + "@" + msg.From.Server + "/" + msg.From.Resource;
    formpvchat.DefaultInstance.chatscren.AppendText(frmchat.DefaultInstance.Text + " : " + msg.Body + Environment.NewLine);
    formpvchat.DefaultInstance.Show();
    }
    [/CSHARP]

    در فرم چت این کنترل ها قرار دارند
    chatscren [richtextbox
    pm [textbox
    Button1

    pm.text برای نوشتن پیام ها
    Chatscren.text برای نمایش خواندن و ارسال کردن پیام ها
    Button1 هم برای ارسال پیام نوشته شده در pm.text هست و کدش به این صورته :

    [CSHARP]
    try
    {
    pashmak_chat.Form1.x.Send("<message to='" + this.Text + "' type='chat'><body>" + this.pm.Text + "</body></message>");
    chatscren.AppendText(Form1.DefaultInstance.usr.Text + " : " + pm.Text + Environment.NewLine);
    pm.Clear();
    }
    catch (Exception ex)
    {
    }
    [/CSHARP]

    حالا من میخوام با استفاده از سوکت فرم 1 ، یک آیدی دیگه با فرم 3 آنلاین کنم دستور آنلاین کردن در خود فرم 1 به این صورته :
    [CSHARP]
    x.Server = "chat.lianchat.ir";
    x.Open(txtid.Text, txtpw.Text, txtres.Text);
    [/CSHARP]

    البته کدهای دیگه برای ساخت Void های رمز اشتباه ، dc شدن یا آنلاین شدن هم هست اما دیگه من ننوشتم

    در vb6 کد بالا رو اگه بخواستی توی فرم 3 استفاده کنی که دقیقا همین اسم ها هم داشت ، از این کد استفاده میکردید :
    [CSHARP]
    Form1.x.Server = "chat.lianchat.ir
    Form1.x.Open(Form3.txtid.Text, Form3.txtpw.Text, Form3.txtres.Text)
    [/CSHARP]

    البته من به صورت مثال گفتم در اصل این کد روی vb6 کار نمیکنه

    ممنون

    پاسخ
    #4
    Note 
    دوست عزیز منظور از دیده شدن این نیست که Textbox فرم2 در فرم 1 نمایش داده بشه منظور اینه که بشه به کنترل های فرمهای دیگه دسترسی داشته باشیم مثلا متن داخل textbox که توی فرم2 هست رو از فرم از تغییر بدیم یعنی دقیقا معادل همون کد Form2.Textbox1.Text تو ویژوال بیسیک هست.

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
    Note کتاب آموزش Parse کردن یک خبر خوان وردپرسی برای ویندوزفون The Arrow 0 1,534 23-04-2015 ساعت 09:24
    آخرین ارسال: The Arrow
    Note سوال ساخت تقویم فارسی در ویندوز 8.1 The Arrow 2 1,557 16-01-2015 ساعت 00:32
    آخرین ارسال: The Arrow
    Note دیتابیس SQLite در سی شارپ The Arrow 3 3,365 07-11-2014 ساعت 22:40
    آخرین ارسال: VBProgrammer
    Note FileAssociation در سی شارپ The Arrow 1 752 05-11-2014 ساعت 12:32
    آخرین ارسال: SOFTAFZAR
    Note آموزش کامل سی شارپ (ویدئو) xMAN 2 885 02-10-2014 ساعت 12:50
    آخرین ارسال: xMAN
    Note explorer سی شارپ cMan 1 630 30-08-2014 ساعت 12:07
    آخرین ارسال: SOFTAFZAR
    Note پیدا کردن متن در سی شارپ arfanz 7 1,305 27-08-2014 ساعت 01:10
    آخرین ارسال: The Arrow
    Note برنامه نویسی موازی با سی شارپ xMAN 0 574 05-08-2014 ساعت 12:01
    آخرین ارسال: xMAN
    Note جستجو در یک متن در سی شارپ arfanz 12 3,088 16-07-2014 ساعت 09:32
    آخرین ارسال: Stack OverFlow
    Note مخفف کنترلهای سی شارپ mshayan 2 1,148 15-07-2014 ساعت 13:32
    آخرین ارسال: mshayan

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان