افزونه 1 اشتراک اطلاعات فرم ها در سی شارپ

qwqw1364

Member
سلام من 3 تا فرم دارم فرم اول 2 چک باکس و 3تا کمبوباکس دارم و یک باتن محاسبه وقتی در کمبوباکس عدد وارد میکنم و باتن محاسبه رو میزنم فرم سوم باز میشه و نتیجه محاسبات رو نشون میده در فرم سوم هم یک باتن محاسبه دارم وقتی فقط 2 تا چک باکس رو تیک میزنم فرم سوم باز میشه و باتن محاسبه رو میزنم و نتیجه محاسبات رو به شکل دیگه ای نشون میده من مشکلم اینه که در باتن فرم سوم دستور if عمل نمیکنه در واقع من وقتی باتن فرم سوم رو میزنم میخوام اطلاعات رو از فرم دوم بخونه و محاسبه انجام بشه امیدوارم منظورم رو رسونده باشم لطفا همراه با کدنویسی باتشکر
 

the_king

مدیرکل انجمن
سلام من 3 تا فرم دارم فرم اول 2 چک باکس و 3تا کمبوباکس دارم و یک باتن محاسبه وقتی در کمبوباکس عدد وارد میکنم و باتن محاسبه رو میزنم فرم سوم باز میشه و نتیجه محاسبات رو نشون میده در فرم سوم هم یک باتن محاسبه دارم وقتی فقط 2 تا چک باکس رو تیک میزنم فرم سوم باز میشه و باتن محاسبه رو میزنم و نتیجه محاسبات رو به شکل دیگه ای نشون میده من مشکلم اینه که در باتن فرم سوم دستور if عمل نمیکنه در واقع من وقتی باتن فرم سوم رو میزنم میخوام اطلاعات رو از فرم دوم بخونه و محاسبه انجام بشه امیدوارم منظورم رو رسونده باشم لطفا همراه با کدنویسی باتشکر

کد رو شما باید بدهید.
توجه داشته باشید که اگه فرم دوم تون در حال نمایش نیست، پس شیء ای از فرم دوم وجود نداره که اطلاعات رو ازش بخونید. منظورم اینه که قبل از اینکه از فرم دوم چیزی بخوانید نمایش اش بدهید.
فرم دوم رو در حال طراحی باز کنید، همون حالتی که دکمه رویش اضافه می کنید. هر کدوم از اون CheckBox ها و TextBox ها و ... که رویش قرار داره رو انتخاب کنید،
در پنجره Properties این کنترل ها یک مشخصه به نام Modifiers دارند که مقدار پیشفرض شون Private ئه، به Public تغییر دهید. اینکار رو برای همه اون کنترل هایی که می خواهید بعد اطلاعات ازشون بخوانید تکرار کنید.
حالا شما می توانید در هر قسمت از کد فرم سوم یا هر فرم دیگری به فرم Form2 دسترسی داشته باشید :
کد:
            var f = (Form2)Application.OpenForms["Form2"];
الان متغیر f همون فرم دوم شما است.
مثلا :
کد:
            var f = (Form2)Application.OpenForms["Form2"];
[COLOR="#0000FF"]            bool chk = f.checkBox1.Checked;
            string text = f.comboBox1.Text;
[/COLOR]
 

جدیدترین ارسال ها

بالا