PDA

View Full Version : پیغام برای خالی بون (textbox)



vahidth
دوشنبه 13 آذر 1391, 09:25 صبح
سلام
من 5 تا (textbox) تو فرم دارم حالا میخوام با استفاده از timer چک کنم اگه هر یک ازین تکس باکس ها خالی بود یه لیبل کنارش بزارم که نمایش داده بشه و و بگه که برای مثال نام را وارد کنید و بعد از وارد کردن نام اون لیبل محو بشه؟
یه دکمه هم رو فرم دارم که اطلاعات تکس باکس رو ذخیره میکنه تو بانک حالا میخوام وقتی کاربر بدون وارد کردن اطلاعات روی دکمه کلیک کرد اطلاعات ذخیره نشه و لیبل براش نمایش داده بشه ؟

vahidth
دوشنبه 13 آذر 1391, 10:19 صبح
داداش من با تایمر میخوام این کار رو انجام بدم

danialafshari
دوشنبه 13 آذر 1391, 10:50 صبح
if (textBox1.text !="")
{
//دستورات
}
else
{
messageBox.show("خالی است");
}

vahidth
دوشنبه 13 آذر 1391, 10:54 صبح
if (textBox1.text !="")
{
//دستورات
}
else
{
messageBox.show("خالی است");
}

سلام داداش گلم
من اینجوری نمیخوام
چند تا لیبل رو فرم گذاشتم میخوام وقتی در یه تکس باکس اطلاعاتی وارد نشد این لیبل ها نمایش داده بشن و وقتی اطلاعاتی وارد شد این لیبل ها محو بشن!!!
با استفاده از timer

ali_habibi1384
دوشنبه 13 آذر 1391, 11:20 صبح
دقيقا چنين كاري رو كه شما لازم داريد من بصورت آماده رو تكست باكسم گذاشتم.
اين ابزار رو از امضام دانلود كنيد.توضيحات كامل استفاده از اين ابزار توي تاپيك اومده.يه سر بهش بزنيد

vahidth
دوشنبه 13 آذر 1391, 11:46 صبح
ممنون از شما داداش گلم من از ابزار شما استفاده کردم میشه با کد هم توضیح بدین که چطوری می تونم این کار رو انجام بدم؟
یه دکمه هم رو فرم دارم که اطلاعات تکس باکس رو ذخیره میکنه تو بانک حالا میخوام وقتی کاربر بدون وارد کردن اطلاعات روی دکمه کلیک کرد اطلاعات ذخیره نشه و لیبل براش نمایش داده بشه ؟

ali_habibi1384
دوشنبه 13 آذر 1391, 12:36 عصر
توي رويداد validate چك ميكنم ببينم كه خالي هست يا نه بعد هم كد زير رو اجرا ميكنم:
if (this.Text == "" ) )
{
Label lb = new Label();
lb.Name = this.Name + "1";
lb.Text = this.MessegeEmpty;
lb.AutoSize = true;
lb.Font = this.Font;
lb.Top = this.Top + Convert.ToInt16(this.Height / 2) - 3;
lb.ForeColor = Color.Red;
this.FindForm().Controls.Add(lb);
if (this.MessegeEmptyInFormRight == true) lb.Left = this.Left + this.Width + 5;
else lb.Left = this.Left - lb.Width - 5;
}
else
{

try
{
int FCC = this.FindForm().Controls.Count;
for (int i = 0; i < FCC; i++)
{
if (this.FindForm().Controls[i] is Label)
{
if (this.FindForm().Controls[i].Name == this.Name + "1")
{
if (this.MessegeEmpty != "" && this.Text != "")
{
this.FindForm().Controls[i].Visible = false;
this.FindForm().Controls[i].Text = "";
}
}

}
}
}
catch
{
return;
}

}

vahidth
دوشنبه 13 آذر 1391, 13:03 عصر
داداش چطوری میتونم
وقتی کاربر اطلاعاتی رو وارد تکست باکس نکرد روی دکمه ثبت کلیک کرد جلوی تکست باکس پیغام بده که (این فیلد نیتواند خالی باشد) و روی تکست باکس اول فوکس کنه و عملیات ثبت اجرا نشه
این کد دکمه ثبت
private void button1_Click(object sender, EventArgs e)
{

try
{
DialogResult Result_Save = MessageBox.Show("آیا اطلاعات مشتری ثبت شوند؟", "ثبت اطلاعات", MessageBoxButtons.YesNo);
if (Result_Save == DialogResult.Yes)
{
cnn.Open();
SqlCommand my_cn = new SqlCommand("insert into bank(code,name,family,bed,best ) values(@cd_temp,@name_temp,@family_temp,@bed_temp, @best_temp)", cnn);
my_cn.Parameters.AddWithValue("@cd_temp", Int32.Parse(textBox1.Text));
my_cn.Parameters.AddWithValue("@name_temp", textBox2.Text);
my_cn.Parameters.AddWithValue("@family_temp", textBox3.Text);
my_cn.Parameters.AddWithValue("@bed_temp", textBox5.Text);
my_cn.Parameters.AddWithValue("@best_temp", textBox4.Text);
my_cn.ExecuteNonQuery();
Form1_Load(sender, e);
}
}
catch (SqlException ex)
{
if (ex.Number == 2627)//درصورتی که کد کالا تکراری بود
{
MessageBox.Show(" این کد قبلا ثبت شده ", "ثبت اطلاعات");

}
}
}

محمدجواد67
دوشنبه 13 آذر 1391, 13:31 عصر
سلام
یه پروژه با براتون نوشتم که تمام کارهایی که می خواید رو انجام میده اما نمی دونم چطور آپلودش کنم

محمدجواد67
دوشنبه 13 آذر 1391, 14:15 عصر
بالاخره آپلود کردن رو یاد گرفتم
این کارتو راه میندازه ؟
WindowsFormsApplication1.rar - 42.0 Kb (http://uplod.ir/vqt4uyart41q/WindowsFormsApplication1.rar.htm)

vahidth
دوشنبه 13 آذر 1391, 14:55 عصر
چطوری میتونم دکمه ثبت اطلاعات رو غیر فعال کنم وقتی کاربر اطلاعات داخل تکس باکس رو پر کرد دکمه فعال بشه؟
این کد رو نوشتم
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("لطفا کد را وارد کنید", "خطا");
textBox1.Focus();
}


try
{


DialogResult Result_Save = MessageBox.Show("آیا اطلاعات مشتری ثبت شوند؟", "ثبت اطلاعات", MessageBoxButtons.YesNo);
if (Result_Save == DialogResult.Yes)
{
cnn.Open();
SqlCommand my_cn = new SqlCommand("insert into bank(code,name,family,bed,best ) values(@cd_temp,@name_temp,@family_temp,@bed_temp, @best_temp)", cnn);
my_cn.Parameters.AddWithValue("@cd_temp", Int32.Parse(textBox1.Text));
my_cn.Parameters.AddWithValue("@name_temp", textBox2.Text);
my_cn.Parameters.AddWithValue("@family_temp", textBox3.Text);
my_cn.Parameters.AddWithValue("@bed_temp", textBox5.Text);
my_cn.Parameters.AddWithValue("@best_temp", textBox4.Text);
my_cn.ExecuteNonQuery();
Form1_Load(sender, e);
}
}
catch (SqlException ex)
{
if (ex.Number == 2627)//درصورتی که کد کالا تکراری بود
{
MessageBox.Show(" این کد قبلا ثبت شده ", "ثبت اطلاعات");

}
}
}
می خوام بعد از اینکه پیغام ( لطفا کد را وارد کنید) داده شد کدهای بعدی اجرا نشه و کاربر اطلاعات تکست باکس رو کامل کنه و بعد اطلاعات ثبت بشن

SHD.NET
دوشنبه 13 آذر 1391, 15:23 عصر
می خوام بعد از اینکه پیغام ( لطفا کد را وارد کنید) داده شد کدهای بعدی اجرا نشه و کاربر اطلاعات تکست باکس رو کامل کنه و بعد اطلاعات ثبت بشن

return;


چطوری میتونم دکمه ثبت اطلاعات رو غیر فعال کنم وقتی کاربر اطلاعات داخل تکس باکس رو پر کرد دکمه فعال بشه؟

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text != null)
{
button1.Enabled = false;
}
}


:چشمک:\\\موفق باشید///:چشمک:

vahidth
دوشنبه 13 آذر 1391, 16:09 عصر
برنامه اجرا شد ولی یه مشکل داره وقتی برنامه رو اجرا میکنی یک فیلدی رو وارد میکنی برای بار اول اضافه میشه به بانک ولی دفعه بعدی که یه فیلد دیگه وارد میکنی ارور میده
private void button1_Click(object sender, EventArgs e)
{



if (textBox1.Text == "" )
{

MessageBox.Show("خطا", "کد را وارد کنید");
textBox1.Focus();
}
else
{


try
{


DialogResult Result_Save = MessageBox.Show("آیا اطلاعات مشتری ثبت شوند؟", "ثبت اطلاعات", MessageBoxButtons.YesNo);
if (Result_Save == DialogResult.Yes)
{
cnn.Open();
SqlCommand my_cn = new SqlCommand("insert into bank(code,name,family,bed,best ) values(@cd_temp,@name_temp,@family_temp,@bed_temp, @best_temp)", cnn);
my_cn.Parameters.AddWithValue("@cd_temp", Int32.Parse(textBox1.Text));
my_cn.Parameters.AddWithValue("@name_temp", textBox2.Text);
my_cn.Parameters.AddWithValue("@family_temp", textBox3.Text);
my_cn.Parameters.AddWithValue("@bed_temp", textBox5.Text);
my_cn.Parameters.AddWithValue("@best_temp", textBox4.Text);
my_cn.ExecuteNonQuery();
Form1_Load(sender, e);
}
}


catch (SqlException ex)
{
if (ex.Number == 2627)//درصورتی که کد کالا تکراری بود
{
MessageBox.Show(" این کد قبلا ثبت شده ", "ثبت اطلاعات");
textBox1.Focus();
}

}
}
}
اینم از ارور
95958

Mahmoud.Afrad
دوشنبه 13 آذر 1391, 16:34 عصر
کانکشن باید در انتها بسته بشه. try catch رو به اینصورت بنویس:
try
{
//...
}
catch
{
//...
}
finally
{
if (cnn.State != ConnectionState.Closed)
{
cnn.Close();
}
}

vahidth
دوشنبه 13 آذر 1391, 16:47 عصر
مرسی عزیز درست شد ولی وقتی جستجو میکنم هیچی نشون نمیده؟
و من یه دکمه دیگه گذاشتم و کد سرچ رو اینجوری نوشتم
ds.Tables["bank"].DefaultView.RowFilter = "name like '" + textBox6.Text + "%'";
حالا وقتی روی دکمه جستجو کلیک میکنم هیچی داخل دیتا گرید نشون نمیده

vahidth
دوشنبه 13 آذر 1391, 17:45 عصر
از دوستان کسی نمیدونه راهنمایی کنه

محمدجواد67
دوشنبه 13 آذر 1391, 17:55 عصر
مرسی عزیز درست شد ولی وقتی جستجو میکنم هیچی نشون نمیده؟
و من یه دکمه دیگه گذاشتم و کد سرچ رو اینجوری نوشتم
ds.Tables["bank"].DefaultView.RowFilter = "name like '" + textBox6.Text + "%'";
حالا وقتی روی دکمه جستجو کلیک میکنم هیچی داخل دیتا گرید نشون نمیده
اینو امتحان کن


ds.Tables["bank"].DefaultView.RowFilter = "name like '%" + textBox6.Text + "%'";

کدی که شما نوشته بودید یه % کم داشت

vahidth
دوشنبه 13 آذر 1391, 18:28 عصر
بازم تشکر از شما داداش این کد رو برای فیلد code مینویسم اجرا نمیشه
ds.Tables["bank"].DefaultView.RowFilter = "code =" + int.Parse(textBox7.Text);
چطوری میتونم بعد از جستجو در دیتا گرید اونو در تکس باکس بیارم و ویرایش کنم و سپس ذخیره کنم

vahidth
دوشنبه 13 آذر 1391, 21:19 عصر
از عزیزان کسی نمیدونه که چطور دستور جستجوی یک کد رو در دیتا گرید جستجو کنم من این کد رو مینویسم ارور میده

ds.Tables["bank"].DefaultView.RowFilter = "code =" + int.Parse(textBox7.Text);

محمدجواد67
دوشنبه 13 آذر 1391, 22:42 عصر
بازم تشکر از شما داداش این کد رو برای فیلد code مینویسم اجرا نمیشه
ds.Tables["bank"].DefaultView.RowFilter = "code =" + int.Parse(textBox7.Text);

این کد رو امتحان کن

ds.Tables["bank"].DefaultView.RowFilter = "code =" + int32.Parse(textBox7.Text);

محمدجواد67
دوشنبه 13 آذر 1391, 22:50 عصر
چطوری میتونم بعد از جستجو در دیتا گرید اونو در تکس باکس بیارم و ویرایش کنم و سپس ذخیره کنم
اینم کد برای بیرون آوردن اطلاعات از datagrid



textbox1.text=dataGridView2[شماره خط ,شماره ستون].Value.ToString();
textbox1.text=dataGridView2[3, 3].Value.ToString();///

موفق باشید.