PDA

View Full Version : متغيير پابليك، بالاتر از لول فرم



ebi1966
شنبه 16 مهر 1390, 00:29 صبح
سلام
ممنون مي شوم اگر كسي به من بگويد و يا يك مثال كوچك بدهد كه چطور مي توانم از داخل فرم صدا شده، مقادير متغيير فرم صدا كننده را تغيير دهم.
در ضمن ابتدا خيلي سعي كردم كه جستجو كنم اگر اين تاپيك هست لطفا دستم را بگيريد، مرسي

jeson_park
شنبه 16 مهر 1390, 00:51 صبح
با سلام
فرض کنید form1 می خواد form2 رو صدا بزنه
حالا شما می خواید توی from2 به متغییر های form1 دست پیدا کنید
در from 1 متغییر ها رو به صورت static تعریف می کنید
public partial class Form1 : Form
{
public static int number1;
public static int number2;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{


}
}

و بعد در form2 اون ها رو فراخوانی می کنید
public partial class Form2 : Form
{
public Form2()
{
Form1.number1 = 0;
InitializeComponent();
}

}
امیدوارم که متوجه شده باشید

nunegandom
شنبه 16 مهر 1390, 02:39 صبح
البته اضافه کنم که استاتیک حافظه رو تا آخر برنامه پر میکنه.ولی اگر access modifier اش را iinternal تعریف کنید بالا تر از پابلیکه. به جای public class form1 بنویس internal

راه دیگه اینجوریه:
(Application.OpenForms["esme foorm"].Controls["esme control"] as ControlType).Text = "Your Text";
طریقه ااستفاده:
به جای ControlType نوعه کنترل خودتون رو بنویسید:
TextBox , Button , ...
به جای Text هر چیزی که میخواید تغیر بدید رو بنویسید
بقیشم که دیگه تابلویه