PDA

View Full Version : جلوگیری از اضافه شدن یک کاراکتر به TextBox



william
جمعه 06 خرداد 1384, 23:28 عصر
با سلام

می خواستم اگر که در TextBox کاراکتر خاصی وارد شد از اون صرف نظر کنه و اون رو به مقادیر TextBox اضافه نکنه دقیقا مثل ()abort در دلفی.

مرسی :موفق:

Farhad-Csharp
دوشنبه 09 خرداد 1384, 03:07 صبح
شما می توانید پس از کیک روی textbox و انتخاب آن در برگه properties در قسمت Events روی قسمت
keydown دبل کلیک کنید و در تابعی که ایجاد می شود با قرار دادن شرطی , از اضافه شدن کاراکتر مورد نظر به textbox جلوگیری کنید .

william
سه شنبه 10 خرداد 1384, 11:04 صبح
ممنون از جوابت

ولی جواب منو ندادی که چه جوری باید بگم که اون کاراکترو اضافه نکنه!!!!! :گیج:

یاشار
پنج شنبه 12 خرداد 1384, 21:51 عصر
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
char f = Convert.ToChar("d");

if ( e.KeyChar == f )
e.Handled = true;
}

william
جمعه 13 خرداد 1384, 01:30 صبح
ممنونم یاشار جان :flower: :flower: :flower:

مهدی
جمعه 13 خرداد 1384, 13:23 عصر
char f = Convert.ToChar("d");

این که گفتی با این چه فرقی داره؟

char f = 'd';

یاشار
شنبه 14 خرداد 1384, 05:11 صبح
هیچ فرقی ندارند. بستگی به ذائقه و عادت دارند. من چون بیشتر در حال تبدیل String به Char و برعکس هستم عادت کرده‌ام با Convert کار کنم.

مهدی
شنبه 14 خرداد 1384, 13:28 عصر
البته من توی C# تازه کار به حساب میام اما چون C زیاد کار کردم فکر کنم ایجا هم بشه اینو گفت که کاری که شما کردید سرعت رو یه کمی پایین میاره :wink:

یاشار
شنبه 14 خرداد 1384, 16:20 عصر
خوب به هر حال وقتی که یک DataType رو به نوع دیگه‌ای تبدیل می‌کنیم، یک کاری انجام می‌شه و مقداری از وقت پردازنده ( هر چند ناچیز ) گرفته می‌شه. اینجا مشکل اصلی استفاده از event مناسب برای مداخله در کاراکترهای ورودی به برنامه بود و من اولین چیزی رو که به ذهنم رسید، نوشتم. پایین اومدن سرعت وقتی محسوس می‌شه که این کار در یک پروسه طولانی مثل حلقه‌ تکرار بشه. اونجاست که باید توی انتخاب DataType دقت بشه تا حداقل اعمال انجام بشه. در این مورد، سریعترین تایپیست‌ها هم متوجه تاخیر زیر میلی ثانیه نمی‌شوند. به هر حال بهتره از همون نوع char استفاده بشه.

کلا بحث DataType ها و تنوع اونها با زیاد شدن حافظه کامپیوترها و زبان‌های event-driven در حال کم رنگ شدنه.مثلا Python خیلی DataType های محدودی داره تا دردسر تبدیل اونها به همدیگر رو به حداقل برسونه و برنامه ساده‌تر بشه.

مهدی
شنبه 14 خرداد 1384, 23:50 عصر
البته من یه نکته رو حواسم نبود :oops: خوب زودتر یکی به من جوگیر میگفت این کد قراره توی KeyPress نوشته بشه! :sorry: