PDA

View Full Version : updateکردن مقادیر کومبو های فرم1 از طریق تابعی در فرم 22



padari
یک شنبه 21 بهمن 1386, 21:49 عصر
سلام
درون یک فرم یک button داریم که وقتی اون رو میزنیم فرم 2باز میشهعلاوه بر این فرم یک ما دارای سه تاcomboboxهست که مقادیر پیش فرضی داره و ما می خوایم وقتی که button2که برای ایجاد فرم 2 هست زده میشه تو فرم 2بتونیم مقادیر combobx رو با یکسری دستورات عوض کنیم و وقتی که فرم 2 بسته میشه مقادیر موجود در combobox های فرم 1 ما هم عوض بشه یعنیupdateبشه(مقادیر موجود تو کومبوهای فرم 1 بایکسری تابع تئ فرم 1 از قبل پر میشن حالا ما میخایم علاوه بر اونا مقادیر جدید تولید شده در فرم2 هم تو اون بیاد)
میشه کدش رو بگید
تشکر:عصبانی++:

Masoud_TB
دوشنبه 22 بهمن 1386, 09:58 صبح
خوب کافیه که فرم 2 شما به فرم 1 و کنترل های که نیاز داری دسترسی داشته باشه. برای اینکه کنترل های فرم 1 رو در اختیار فرم 2 قرار بدی کافیه که Modifierش رو public کنی. و برای اینکه Form2 به Form1 دسترسی داشته باشه یک متغییر از نوع Form1 در Form2 ایجاد کن:


public class Form2
{
// ایجاد متغییر از نوع فرم 1
public Form1 FormInstance = null;

حالا موقعی که داری فرم 2 رو می سازی مقدار فرم 1 رو هم بهش بده:


private void btnShow_Click(object sender,EVentArgs e)
{
Form2 f= new Form2();
f.FormInstance = this;
f.Show();
}


و در نهایت هر وقت که لازم بود از Form2 به کنترل های فرم 1 دسترسی داری:


private void Form2_Closing(object sender,FormClosingEventArgs e)
{
// برای نمونه
FormInstance.ComboBox1.SelectedIndex = 2;
}

padari
دوشنبه 22 بهمن 1386, 11:05 صبح
سلام
از پاسختون ممنون
با یه تابع که تو فرم 1 ساخته شده و صدا زدن اون تو فرم 2 تونستم اما بعضی موقع ها جواب میده یعنی بعضی مواقع کومبو های فرم یک مقادیر جدید رو نشون می ده بعضی موقع ها نه و اینکه اون تابعی که تو فرم یکه توش چنئ تا تابع هم صدا زده میشه اما من تو فرم 2 فقط همون تابع اصلی رو صدا میزنم
ممکنه به خاطر این باشه

hassan razavi
دوشنبه 22 بهمن 1386, 11:18 صبح
دوست عزیزم جناب r.kiani در لینک زیر در مورد ارتباط بین اشیاء یک مقاله توپ نوشتن.
http://barnamenevis.org/forum/showthread.php?t=91243

padari
دوشنبه 22 بهمن 1386, 15:20 عصر
سلام
چطور میشه به selectedindxchengedیه کومبو که تو فرم یکه تو فرم 2 دسترسی داشت
اصلا کلا به اینpublicvoid comboBox1_SelectedIndexChanged(object sender, EventArgs e)
و عین همون دستوراتی که واسه اون تو فرم 1 نوشته شدندقیقا به همونا تو فرم دو دسترسی داشت