الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

back to form with the old data

مغلق
بدأه أبو المنذر السلفى في 15 مايو 2007 · 8 رد · 1,064 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدى فومتان فى الأولى أقوم بإدخال عدة بيانات ثم أضغط على زر next فأقوم بفتح الفورمة الثانية و غلق هذه الأولى

ولكن فى الفورمة الثانية يوجد زر back اريد بع الضغط عليه يفتح لى الفورمة الأولى وبها المدخلات التى ادخلتها سابقا

اعرف انه فى هذه الحالة لن أقوم بعمل close للفورمة الأولى أثناء فتح الثانية و إنما أعمل hide ? فما الحل

اقترب للناس حسابهم و هم فى غفلة معرضـــون

#2

السلام عليكم

بإمكانك إستعمال الدالة التالية

private void activateCfg() 
 {
  this.Visible = true;
  this.WindowState = FormWindowState.Normal;
  this.Activate();
  this.BringToFront();
  this.Focus();		
 }
#3

وعليكم السلام و رحمة الله وبركاته

اخى بارك الله فيك ونفع بك :

اين سوف لكتب هذا الكود و مناداة الدالة فى أى زر و؟؟؟؟؟؟؟

اقترب للناس حسابهم و هم فى غفلة معرضـــون

#4

السلام عليكم

تفضل أخي مثال بسيط في ما طلبت

hideshows.zip

#5

أخى جزاك الله خيرا على الإهتمام ولكن لعلى لم أشرح سؤالى جيدا

الطريقية المكتوبة فى الكود لا تقوم بالإحتفاظ بالبيانات التى كنت قد اخترتها من قبل وغاية ما تفعل ان تقوم بإخفاء الفورمة الثانية و فتح الأولى

و لا يخفى عليك سبب ذلك لأن السطر

form1 = new form1()

new تعنى اوبجت جديد فارغ من أى شىء

اقترب للناس حسابهم و هم فى غفلة معرضـــون

#6

السلام عليكم

هناك عدة طرق لتمرير البيانات من نافذة إلى نافذة أخرى أبسطها عبر ال Constructor

حيث تقوم بتغير ال construcorللنافذة التي ستسقبل البيانات بالشكل التالي:

public Form2(string myText)
 {   InitializeComponent();
	 label1.Text = myText;
 }

النص الذي ستكتبه في textBox1تابعة للنافذة الأولى سيظهر في الlabel1 التابع للنافذة النافذة الثانية

وفي كود الزر الذي سيمررك للنافذة الثاني يكون الكود كالآتي:

 private void btn_Next_Click(object sender, EventArgs e)
  {
   this.Visible = false;
   Form2 f2 = new Form2(textBox1.Text);
   f2.WindowState = FormWindowState.Normal;
   f2.BringToFront();
   f2.Activate();
   f2.Focus();
  }

وأخيرا الكود الذي يرجعك للنافذة الأولى

 
private void btn_Back_Click(object sender, EventArgs e)
 {
 this.Visible = false;
  Form1 f1 = new Form1();
  f1.WindowState = FormWindowState.Normal;
  f1.BringToFront();
  f1.Activate();
  f1.Focus();
 }

والله أعلم

#7

اعتقد ان الكود ده أسهل

فى form1

textBox1 نجعله public من modifiers فى properties

private void btn_Next_Click(object sender, System.EventArgs e)
		{
			Form2 f = new Form2();
			f.p = textBox1.Text;
			f.Show();
			this.Hide();
		}

فى form2

public string p;

and

private void btn_Back_Click(object sender, System.EventArgs e)
		{
			Form1 f = new Form1();
			f.textBox1.Text = p;
			f.Show();
			this.Hide();
		}
#8

السلام عليكم

سبق وقلت أن هناك عدة طرق وفي هذا الرابط شرح لبعض منه

ا

#9

السلام عليكم

أعتقد أنى قرأه كل الردود و جربت الكود كمان بس مشتغلش معيا معرفش ليه و مكنش فهوم أوى الكود فمعرفتش الخطأ فين .

من الطرق الكتيره أنا معرفيش غير أتنين واحده بأستخدام DialogResultو Tag وأكيد عرفه والتانيه كتبتهاو كنت أعتقد

أنها اسهل فى الفهم لأن السؤل عن pass data أكيد ذى مبتدء فى #C والكود التانى هيكون أسهل وكلامى مكنش رد على

الكود بتاعك .

وفى حاجه مهمه

" مش مهم البرنامج خرجه أيه المهم الكود مكتوب أذى"

يعنى ممكن أكتر من طرقه لكتابه البرنامج بس المهم الكود يبقى بسيط ويحقق المطلوب منه وياريت يكون فيه فكره حلوه مش

طول وخلاص .كده يعنى

وألا مكنتش تعدده لغات البرمجه و حتى لغه البرمجه الوحده فيها أكتر من نسخه(c#2003 & c#2005 ).

هذا الموضوع مغلق.

مواضيع مشابهة