مشکل دسترسی به فرم های ساخته شده
با سلام
پس از ساختن فرم توسط فرم دیگر با دستور new چطور می توان تغییراتی در فرم اول با کلیک بر روی دکمه ای در فرم دوم ایجاد کرد؟
مشکل در این است که وقتی برای دسترسی به فرم اول از دستور new استفاده می شود یک نمونه جدید از فرم اول ایجاد می شود و فرم اولیه قابل دسترسی نیست.
(من کدی می خواهم که در آن بتوان بدون new کردن شی از فرم به اشیا فرم دسترسی پیدا کنیم )
نقل قول: مشکل دسترسی به فرم های ساخته شده
سوالتون رو درست نفهمیدم ولی کد ایجاد فرم و باز کردنش با کلید اینه
private void button1_Click(object sender, EventArgs e)
{
Form ff = new Form2();
ff.Show();
}
امید وارم مفید باشه
نقل قول: مشکل دسترسی به فرم های ساخته شده
دوست عزيز اگه منظورت همون باشه كه نمونه اش رو آقا محمد زده كافيه كه براي دسترسي به فرم ساخته شده ات از نامي كه موقع تعريف به كاربردي استفاده كني
مثلا كد زير باعث تغيير كردن خاصيت Text فرمت كه با دستور new ايجاد كردي ميشه.(با توجه به دستور ساخت فرم مثال قبل)
ff.text="Calculator";
نقل قول: مشکل دسترسی به فرم های ساخته شده
نه,منظور من اینه که مثلا خاصیت TEXT یک lable در فرم اول را توسط فرم دوم که توسط فرم اول new می شود,تغییر داد.لطفا کمکم کنید.
نقل قول: مشکل دسترسی به فرم های ساخته شده
سلام
Modifire كنترلهايي كه قراره تغيير كنند رو از private به public تغيير بده.
بعد يك نمونه از فرم بساز و اينجوري عمل كن:
Form2 f = new Form2();
f.lable1.text = "Hello!";
f.ShowDialog();
نقل قول: مشکل دسترسی به فرم های ساخته شده
نقل قول:
نوشته شده توسط
ehsan mashkoori
نه,منظور من اینه که مثلا خاصیت TEXT یک lable در فرم اول را توسط فرم دوم که توسط فرم اول new می شود,تغییر داد.لطفا کمکم کنید.
دوست عزيز به راحتي مي توني در همون فرمي كه new شده با استفاده از نام فرم مورد نظرت دسترسي لازم رو داشته باشي
دستور زير رو در قسمت مورد نظرت قرار بده
Form1.Label1.Text="مقدار مورد نظر";
نقل قول: مشکل دسترسی به فرم های ساخته شده
این کدی که شما نوشتی برای فرم دومه,من می خوام تغییر در فرم اول توسط فرم دوم اعمال بشه.(در واقع فرم دوم رو فرم اول new کرده وفرم دوم خاصیت TEXT یک lable در فرم اول را تغییر بده).با new کردن مشکل حل نمیشه.
نقل قول: مشکل دسترسی به فرم های ساخته شده
من کدی می خواهم که در آن بتوان بدون new کردن شی از فرم به اشیا فرم دسترسی پیدا کنیم
نقل قول: مشکل دسترسی به فرم های ساخته شده
یک متغیر از نوع فرم اولتون در فرم دوم تعیرف کنید به این صورت :
public partial class Form2 : Form
{
public Form1 Form1Instance = null;
public Form2()
{
InitializeComponent();
}
}
بعد وقتی میخواین فرم دوم رو باز کنید این کد رو بنویسید :
Form2 frm = new Form2();
frm.Form1Instance = this;
frm.ShowDialog();
حالا مثلا در رویداد کلیک یکی از کلید های فرم 2 میتونید متن یک لیبل یا هر کنترل دیگری از فرم اول رو عوض کنید به این صورت :
private void button1_Click(object sender, EventArgs e)
{
Form1Instance.label1.Text = "Morteza";
}
فقط لیبل یا هر کنترلی که میخواین اینطوری تغییرش بدین نباید Private باشه.
موفق باشید
نقل قول: مشکل دسترسی به فرم های ساخته شده
کد که شما دادین درست بود,اما این کد frm.Form1Instance = this دقیقا چی کار می کنه؟
نقل قول: مشکل دسترسی به فرم های ساخته شده
فرم جاری رو به متغیر Form1Instance نسبت میده.
یعنی یه کپی از فرم1 برای فرم 2 ایجاد میشه.
نقل قول: مشکل دسترسی به فرم های ساخته شده
نقل قول:
نوشته شده توسط
troski
فرم جاری رو به متغیر Form1Instance نسبت میده.
یعنی یه کپی از فرم1 برای فرم 2 ایجاد میشه.
البته کپی ایجاد نمیکنه و فقط رفرنس رو ست میکنه.
یعنی یک اشاره گر که به فرم قبلی اشاره میکنه، نه یک کپی مجزا. تا فرم دو فرم یک رو بتونه ببینه و تغییرات رو اعمال کنه.