PDA

View Full Version : سوال: visible کردن یک کنترل با کلیک ماوس



navid1n2000
سه شنبه 16 مهر 1387, 10:13 صبح
سلام
من توی فرمم 70 تا textbox دارم . که می خوام همشونو غیر فعال کنم . اما وقتی ماوس روشون کلیک کرد فعال بشن . توی رویداد MouseClick هم نوشتم اما نشد . عکسش رو هم براتون میذارم .
سوال دومم اینه که می خوام بین اینا خط باشه . یعنی مثله یک جدول . اما هر چی گشتم پیدانکردم . ممنون می شم راهنماییم کنین .
http://i35.tinypic.com/sgmoao.jpg

ASKaffash
سه شنبه 16 مهر 1387, 12:33 عصر
سلام
شما راه سختی را انتخاب کرده اید از DataGridView استفاده کنید درغیر اینصورت باید تک تک Event های TexBox ها را مدیریت کنید یا همه Event های انها را به یک Event ارسال کرده و درون آن تفکیک کنید (مثل تنظیم در tag آنها)

kh1387
سه شنبه 16 مهر 1387, 17:24 عصر
دوستمون راست گفتند ، این کار خیلی سخته و راحت تر اینه که با DataGridView و یا DataGrid استفاده کنید.
منم روز اول کار با این نوع کامپوننت سخت بود اما وقتی کار کردم خیلی قشنگ و راحته .

اما در هر صورت اگه دوست دارید همون روش خودتون رو ادامه بدهید من بهتون توصیه می کنم که از کنترل داینامیک استفاده کنید که خیلی راحت تره بعد هر نوع خاصیتی هم که خواستید می تونید فقط و فقط یه بار اعمال کنید.

موفق باشید

navid1n2000
سه شنبه 16 مهر 1387, 19:29 عصر
سلام
می دونم
حق با شماست
ولی برنامه این طوریه
یعنی اول باید این سطر ها پر بشن
بعد روی اونها عملیات انجام بدم
یعنی اونهایی که کد حسابشون یکیه تو یه جدول دیگه تو پایگاه داده م ذخیره بشن
که اینو من خیلی سخت تر از از این روش خودم دیدم
لطفا راهنماییم کنین .
بای

Leon_pro
سه شنبه 16 مهر 1387, 20:31 عصر
تو عنوان تاپیکی ک ایجاد کردی از visible نام بردی کهفکر کنم این اشتباه باشه.
و اما برای کاری که می خوای بکنیی ، به جایینکه Enable کنترل هاتو False کنی باید ReadOnly اون هارو True کنی این جوری این منترل ها به Event ها پاخ مناسب میدن.

بعد تو متدد MouseDown مقدار ReadOnly رو false میکنی و تو متد Leave همون TextBox چک می کنی اه متی توش بود که هیچ و گرنه دوباره مقدار ReadOnly رو True می کنی.

این چیزی بود که من از سوالت متوجه شدم.

h.jaza
سه شنبه 16 مهر 1387, 23:41 عصر
چیزی که دوستمون میگن، تقریبا درسته ولی بعتر هستش از رویداد Enter برای زمان فعال کردن تکست باکسمون استفاده بکنیم چرا که اینجوری محدود به فقط کلیک کردن داخل یه تکست باکس نمی شیم و با تب هم اگر واردش بشیم، فعال میشه و در واقع باید این کدهارو بنویسی:



private void textBox2_Leave(object sender, EventArgs e)
{
if (textBox2.Text.Trim() == "")
{
textBox2.ReadOnly = true;
}
}

private void textBox2_Enter(object sender, EventArgs e)
{
textBox2.ReadOnly = false;
}