با سلام
چه طور میتونم یه متغیر که توی تمام فرم های پروژه قابل دسترسی باشه تعریف کنم و همچنین از یه شیی که توی یکی از فرما ایجاد شده توی فرمای دیگه هم استفاده کنم؟
با تشکر
با سلام
چه طور میتونم یه متغیر که توی تمام فرم های پروژه قابل دسترسی باشه تعریف کنم و همچنین از یه شیی که توی یکی از فرما ایجاد شده توی فرمای دیگه هم استفاده کنم؟
با تشکر
برای متغییر می تونی اونو توی یک کلاس به صورت Public Static تعریف کنی و بعد هر جا که خواستی ازش استفاده کنی
موفق باشید
استخدام برنامه نویس دات نت (Asp.net,C#,jquery,...)
ترجیحا خراسان شمالی ، بجنورد
به صورت پاره وقت و تمام وقت
ارسال اطلاعات و رزومه کاری به Job@tosa.ir
اصولا در برنامه نویسی شی گرا این کار معنی نمیده!!
در مورد اصطلاحی به اسم Information Expert سرچ بزن.میتونی از کتاب applying UML and Patterns هم استفاده بکنی.
میشه یک مثال بزنی چون من هرچی مینوشتم ارور میداد.
دوست عزیز من زبانم خیلی خوب نیست ولی در کل منظور شما اینه که همچین چیزی وجود نداره؟! پس این پروژه هایی که از چند فرم استفاده میکنند چه طوریه؟اصولا در برنامه نویسی شی گرا این کار معنی نمیده!!
در مورد اصطلاحی به اسم Information Expert سرچ بزن.میتونی از کتاب applying UML and Patterns هم استفاده بکنی.
مثال
public static class Utils
{
public static string hey()
{
return "hallo welt";
}
}
static class Program
{
static void Main()
{
MessageBox.Show(Utils.hey());
}
}
اگه بخوایم یه متغیر سراسری که توی همه ی فرمها قابل استفاده باشه و بشه مقدارش رو تغییر داد چی کار میکنیم؟ چون این متغیر توی کلاس از نوع static و نمیشه مقدارش رو تغییر داد.
چرا نمیشه ؟
من خودم تعریف کردم و ازش هم استفاده می کنم و هرجا که لازم باشه مقدار دهی جدید میکنمش.
شما کجای کار اشکال دارین؟ اجرا کردین و به نتیجه نرسیدین؟
اگه آره کدی که نوشتین رو بزارید اینجا .
موفق باشید
استخدام برنامه نویس دات نت (Asp.net,C#,jquery,...)
ترجیحا خراسان شمالی ، بجنورد
به صورت پاره وقت و تمام وقت
ارسال اطلاعات و رزومه کاری به Job@tosa.ir
public static class Class1
{
public static string shomare = "111";
}
private void button1_Click(object sender, EventArgs e)
{
profileTableAdapter.Insert(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, Convert.ToDateTime(textBox6.Text));
profileTableAdapter.Fill(db1DataSet1.profile);
Class1.shomare =Convert.ToString(Convert.ToInt32(Class1.shomare ) + 1);
}
private void Form3_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'db1DataSet1.profile' table. You can move, or remove it, as needed.
this.profileTableAdapter.Fill(this.db1DataSet1.pro file);
textBox1.Text = Class1.shomare;
}
این خط های قرمز منظوره منه که وقتی فرم load میشه همیشه مقدار 111 روی توی textbox1 نشون میده. ومن میخوام در هربار بعد از فرم لود و زدن button 1 یکی به این عدد اضافه بشه که نمیشه.
سلام
اینطوری باید بنویسی (اصلا به متغیر اضافه نمی کنی!):
public static class Class1
{
public static int shomare = 111;
}
private void button1_Click(object sender, EventArgs e)
{
profileTableAdapter.Insert(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, Convert.ToDateTime(textBox6.Text));
profileTableAdapter.Fill(db1DataSet1.profile);
Class1.shomare++;
Class1.shomare =Convert.ToString(Class1.shomare.ToString());
}
private void Form3_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'db1DataSet1.profile' table. You can move, or remove it, as needed.
this.profileTableAdapter.Fill(this.db1DataSet1.pro file);
textBox1.Text = Class1.shomare.ToString();
}
موفق باشی
سلام اینکه میگید به متغیر اضافه نمیشه چرا؟مگه اشکالش چیه؟ واین کدی رو هم که نوشتید متاسفانه بازم جواب نمید البته من اینجوری نوشتم...
privatevoid button1_Click(object sender, EventArgs e)
{
profileTableAdapter.Insert(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, Convert.ToDateTime(textBox6.Text));
profileTableAdapter.Fill(db1DataSet1.profile);
Class1.shomare++;
}
privatevoid Form3_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'db1DataSet1.profile' table. You can move, or remove it, as needed.
this.profileTableAdapter.Fill(this.db1DataSet1.profile);
textBox1.Text = Class1.shomare.ToString ();
}
وبازم موقع اجرا همون 111 رو نوشته واگ button1 رو بزنم این پیغام رو میده
the change you requested to the table were not successful because they would creat duplicate values in the index ,primary key or relashtion ship. change the data in the fields or fields that contain duplicatedata,remove the index,or redefine the index to premit duplicate entrise and try again.
سلام
دوشت من از هر اجرا تا اجرای دیگه همین مقدار است.به عبارت دیگه اگر الان اجرا کنی و چند فیلد اضافه کنی.بعد برنامه رو ببندی و دوباره اجرای کنی و بخوای دوباره چند مقدار دیگه اضافه بشه،این پیغام رو میده.
چرا؟
چون با هر بار اجرای این برنامه دوباره مقدار این متغیر همونی میشه که شما تعریف کردید یعنی 111 !
راه حل :
بهترین راه اینه که این عدد رو توی پایگاه دادت ذخیره کنی و بعد از هر بار اجرای برنامه این عدد رو (که در انتهای برنامه قبل ذخیره کردی) بخونی.
راه دیگه استفاده از Setting است که البته در موارد کلی توصیه نمیشه
موفق باشی