سلام
من یه فرم توی برنامه ام دارم
از داخل اون فرم یه فرم جدید را باز میکنم
توی فرم جدید و قدیم یه text box دارم. می خوام وقتی یه دکمه خاص را در فرم جدید کلیک کرد
اطلاعات text box فرم جدید وارد text box فرم قدیم بشه.
لطفا راهنماییم کنید
سلام
من یه فرم توی برنامه ام دارم
از داخل اون فرم یه فرم جدید را باز میکنم
توی فرم جدید و قدیم یه text box دارم. می خوام وقتی یه دکمه خاص را در فرم جدید کلیک کرد
اطلاعات text box فرم جدید وارد text box فرم قدیم بشه.
لطفا راهنماییم کنید
چرا کسی جواب نمیده
سوال را تکرار می کنم:
یه فرم داریم که فرزند یه فرم دیگه است می خواهیم از داخل اون فرم مثلا یک text box فرم پدر را تغییر دهیم
قبلا هم این سوال پرسیده شده ولی من نتونستم بازش کنم مثل این که پاک شده
ممنون می شم راهنماییم کنید
Form parentform=this.Parent;
parentform.controls["textBox1"].Text=this.textBox1.Tex;
یه چرخ اینجا میزدی خیلی دراین مورد بحث شده
من تو این سایت اقلا 4، 5 بار دقیقا همین سوالو دیدم.
گاهی جستجو قبل از سوال، بد نیست.
تشکر
گفتم که!
من جست و جو کردم یه مورد هم پیدا کردم ولی باز نشد
این کد error میدهنوشته شده توسط once4ever
یکی در زمان کمپایل که میگه نمیتونه control را مستقیم به form تبدیل کنه
وقتی هم cast می کنم در زمان اجرا خط دومش error میده که این کنترل new نشده
اگه هم قبلا بحث شده میشه لینکش رو بذارید من پیدا نکردم
خوب من نمیدونستم شما چقدر کار کردید.
اگه برای فرم نتونستی مشکلش حل کنی! از کد زیر استفاده کن:
این کد در فرم دوم نوشته میشه.
درمورد cast هم فرض بر این شد که داخل فرم دوم یک تکست باکس بانام textBox1 داشته باشی و در فرم اول هم همینطور.
درضمن فرم دوم باید توسط فرم اول صدا زده بشه.
بازم نمیدونم کافی توضیح دادم یا نه
if (this.Parent != null)
{
Control parent = this.Parent;
parent.Controls["textBox1"].Text = textBox1.Text;
}
مشکل برنامه ام را فهمیدم
مشکل اینه که this.parent فرم دوم من مساوی null است
ولی من فرم دوم را از داخل فرم اول صدا زده ام
پس چرا پدرش نول است؟
سلام
ببخشید که من دوباره اومدم آخه مشکل برنامه ام هنوز حل نشده و برنامه را باید تا شب تحویل بدم
برا همین یه توضیح کامل از برنامه ام می دم تا بشه فهمید چرا پدر فرم دوم من نول میشه:
من توی برنامه ام یه فرم دارم که داخل اون یه button و یه text box دارم وقتی button کلیک میشه کد زیر اجرا میشه:
Form2 f2 = new Form2();
f2.showDialog();
حالا توی فرم دوم هم یه text box و یه button دارم که وقتی button کلیک میشه کد زیر اجرا میشه:
control par = this.parent;
par.controls["textBox1"].Text = textBox1.Text;
this.close();
ولی وقتی میرسه به این خط که text box را به روز کنه ERROR میده علتشم اینه که par نول است
بسیار بسیار متشکر میشم از راهنماییتون
از همون کد من در فرم دومت استفاده کن (با شرط if )
و تو فرم اول:
Form2 f2 = new Form2();
f2.Parent=this;
f2.showDialog();
این error میده مثل اینکه نمیشه پدر فرم2 را از داخل این فرم تعریف کرد
با سلام
یک راه دیگه هم وجود داره.
در فرم فرزند یک Property تعریف کنید که نتیجه کار رو اونجا بگذاریم.
private int myResult;
public int Result{
get{return myResult;}
}
در فرم پدر هم به این شکل عمل کنید:
frmChild myForm = new frmChild();
if (myForm.ShowDialog = DialogResult.Ok){
myText.Text = myForm.Result;
}
شاید مشکل شما به این شکل راحتتر حل بشه.
صبا صبوحی
برای اینکه همزمان این تغییرات انجام بشه چه پیشنهادی داری؟