انتقال اطلاعات از یک فرم به فرمی دیگر

kerberos2023

عضو جدید
سلام.
چطوری میشه اطلاعاتی رو که در یک TextBox در یک فرم وارد کرد در فرمی دیگر استفاده کرد؟؟؟؟؟
مثلاً Username رو که در یک فرم login وارد می کنیم در یک Lable در فرم برنامه اصلی بنویسیم و یا...
 

Sharif_

مدیر بازنشسته
میتونی محتویات رو بریزی تو یه متغییر یا
تو VB متونی قبل از نوشتن textbox نام فرم قبلی رو بنویسی و یه نقطه بذاری
form1.textbox.text
دیگه نمیدونم تو c# دستورش رو نمیدونم
بذار یکی دیگه بیاد کمک کنه
 

SHRP

همکار مدیر تالار مهندسی کامپیوتر متخصص برنامه نوی
کاربر ممتاز
توضيح شما كامله redhat جان
البته با استفاده از متغيرهاي سراسري هم مي شه اينكارو انجام داد
مزيت اين كار اين است كه اگر فرم رو free‌كنيم اطلاعاتش از بين نميره
در سي شارپ از <- استفاده مي شه
 

PC-ENG

عضو جدید
باید خاصیت Modifiers لیبل فرم اصلی رو public کنی بعد می تونی تو رویداد button مورد نظرت کد زیر رو بنویسی
کد:
frmMain obj = new frmMain();
            obj.lblShowUsername.Text = txtUserName.Text;
            obj.Show();
مطمئنا این بهترین روش نیست
 

PC-ENG

عضو جدید
اگر روش درست رو می خوای بدونی فایل ضمیمه رو دانلود کن
 

پیوست ها

  • ObjectsRelation.rar
    244.7 کیلوبایت · بازدیدها: 1

mahdi7610

عضو جدید
سلام.
چطوری میشه اطلاعاتی رو که در یک TextBox در یک فرم وارد کرد در فرمی دیگر استفاده کرد؟؟؟؟؟
مثلاً Username رو که در یک فرم login وارد می کنیم در یک Lable در فرم برنامه اصلی بنویسیم و یا...
سلام

ابتدا یک textbox و یک button در فرم اول ایجاد کنید و سپس روی button دوبار کلیک کنید و
دستور زیر را به ان اختصاص بدید

کد:
 Form2 frm = new Form2(textBox1.Text);
            frm.Show();

حالا به فرم دوم روفته و یک Label در ان قرار دهید و سپس توی کلاس فرم دوم دستور زیر را وارد کنید .

کد:
public Form2(string strTextBox)
        {
            InitializeComponent();
            label1.Text = strTextBox;
        }

حالا با دادن مقدار به textbox فرم اول این مقدار به label فرم دوم پاس داده می شه .

موفق باشی
 

kerberos2023

عضو جدید
Error

Error

سلام

ابتدا یک textbox و یک button در فرم اول ایجاد کنید و سپس روی button دوبار کلیک کنید و
دستور زیر را به ان اختصاص بدید

کد:
 Form2 frm = new Form2(textBox1.Text);
            frm.Show();

حالا به فرم دوم روفته و یک Label در ان قرار دهید و سپس توی کلاس فرم دوم دستور زیر را وارد کنید .

کد:
public Form2(string strTextBox)
        {
            InitializeComponent();
            label1.Text = strTextBox;
        }

حالا با دادن مقدار به textbox فرم اول این مقدار به label فرم دوم پاس داده می شه .

موفق باشی
سلام.
وقتی این کارو می کنم error میده
کد:
'project1.MainForm' does not contain a constructor that takes '0' argument
و این error مربوط به فایل Program.cs هست
 

mahdi7610

عضو جدید
سلام.
وقتی این کارو می کنم error میده
کد:
'project1.MainForm' does not contain a constructor that takes '0' argument
و این error مربوط به فایل Program.cs هست
سلام

نه نباید error بده .

من اینجا فرمم اسمش Form2 هستش . ممکنه شما اسم فرمتون را عوض کرده باشید
شما باید بر حسب اسم فرمتون این کد را تغییر بدید .

در ضمن کد دوم را باید توی کلاس form2 تعریف کنید .

موفق باشید .
 

kerberos2023

عضو جدید
سلام

نه نباید error بده .

من اینجا فرمم اسمش Form2 هستش . ممکنه شما اسم فرمتون را عوض کرده باشید
شما باید بر حسب اسم فرمتون این کد را تغییر بدید .

در ضمن کد دوم را باید توی کلاس form2 تعریف کنید .

موفق باشید .
سلام.
آخه فرم login من که اول باز میشه در اصل فرم اول نیست و وقتی من دکمه ورود رو می زنم دستور this.close(); اجرا میشه ونمونه ای با زدن این دکمه از فرم 2 ساخته نمیشه.این همون مشکلی بود که من در تاپیک بستن یک فرم و رفتن به فرم دیگر نوشتم و شما جوابمو دادین
من اومدم خودم یه نمونه از فرم بعدی که همون فرم اصلی برنامه است ایجاد کردم حالا error میده.
این error مربوط به فایل program.cs هسته جایی که این دستور نوشته شده :
Application.Run(newMainForm());
 
آخرین ویرایش:

PC-ENG

عضو جدید
دوست عزیز در کد دوستمون منظور از Form2 همون MainForm شماست و Form1 همون LoginForm شماهست
باید کد زیر رو به شکل زیر تغییر بدی

کد:
[SIZE=2][COLOR=#2b91af]Application[/COLOR][/SIZE][SIZE=2].Run([/SIZE][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][SIZE=2][COLOR=#2b91af] LoginForm[/COLOR][/SIZE][SIZE=2]());[/SIZE]
 

_narjes

عضو جدید
شما باید اطلاعاتی رو که درفرم login استفاده می کنید قبلا در یه جایی ذخیره کرده باشین (array list,hashtable یا یه بانک)و برای استفاده از ان مثلا در همون lable کافیه که همون اطلاعات رو فراخوانی کنید.
 

!...

عضو جدید
کاربر ممتاز
قک کنم راحت ترین کار, تعریف یه متغییر سراسری باشه!
و محتویات رو بریزی تو اون!
یا با نام namespace به اون شئ دسترسی پیدا کنی...!
یا حق...!
 

Similar threads

بالا