سی شارپ : دسترسی به کنترل های دیگر فرم ها در فرم 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 982 23-04-2015 ساعت 09:24
آخرین ارسال: The Arrow
Note سوال ساخت تقویم فارسی در ویندوز 8.1 The Arrow 2 1,001 16-01-2015 ساعت 00:32
آخرین ارسال: The Arrow
Note دیتابیس SQLite در سی شارپ The Arrow 3 2,440 07-11-2014 ساعت 22:40
آخرین ارسال: VBProgrammer
Note FileAssociation در سی شارپ The Arrow 1 568 05-11-2014 ساعت 12:32
آخرین ارسال: SOFTAFZAR
Note آموزش کامل سی شارپ (ویدئو) xMAN 2 685 02-10-2014 ساعت 12:50
آخرین ارسال: xMAN
Note explorer سی شارپ cMan 1 486 30-08-2014 ساعت 12:07
آخرین ارسال: SOFTAFZAR
Note پیدا کردن متن در سی شارپ arfanz 7 879 27-08-2014 ساعت 01:10
آخرین ارسال: The Arrow
Note برنامه نویسی موازی با سی شارپ xMAN 0 452 05-08-2014 ساعت 12:01
آخرین ارسال: xMAN
Note جستجو در یک متن در سی شارپ arfanz 12 2,248 16-07-2014 ساعت 09:32
آخرین ارسال: Stack OverFlow
Note مخفف کنترلهای سی شارپ mshayan 2 852 15-07-2014 ساعت 13:32
آخرین ارسال: mshayan

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