صفحه اصلی / دوره‌های آموزشی / آموزش ویندوز فرم سی شارپ، مقدماتی / کنترل کادر متن(TextBox)

کنترل کادر متن(TextBox)

کنترل کادر متن(TextBox)
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.
رایگان

جلسات دوره


          
22 دقیقه
رایگان
           
مهدی احمدی
مدرس:

مهدی احمدی

از سال 1380 برنامه نویسی را شروع کرده و از سال 90 در این زمینه تدریس میکنم .با زبانهای سی پلاس پلاس ، سی ،پاسکال ،VB ، سی شارپ ،اسمبلی، جاوا و .... کار کرده و آنها را تدریس کرده ام.هم اکنون نیز مشغول تدریس در دانشگاه هستم و مدتی است با سایت درسمن همکاری میکنم مشاهده رزومه

از پنجره ToolBox بر روی گزینه TextBox دابل کلیک کنید تا یک کادر متن برای شما ساخته شود. کادر متن‌ها برای دریافت متن از کاربر مورد استفاده قرار می‌گیرد. توجه داشته باشید متنی که کاربر درون کادر متن می‌ویسد، در ویژگی Text کادر متن ذخیره می‌شود.

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

تکست باکس در ویندوز فرم

private void button1_Click(object sender, EventArgs e) //دکمه کلیک
{
    MessageBox.Show("Hello "+textBox1.Text+" "+textBox2.Text+" !"); //خانوادگی نام و نا نمایش
}

حال قصد داریم یک ماشین حساب بسازیم که چهار عمل اصلی را انجام دهد. به وسیله دو کادر متن، دو عدد از کاربر دریافت کرده و در رویداد یکی از چهار دکمه جمع، تفریق، ضرب یا تقسیم حاصل آنها را درون یک کادر متن دیگر نمایش می‌دهیم.

باکس متن در ویندوز فرم

private void button1_Click(object sender, EventArgs e) //جمع دکمه
{
    int a, b;
    a = Convert.ToInt32(textBox1.Text);
    b = Convert.ToInt32(textBox2.Text);
    textBox3.Text = (a + b).ToString(); //عدد دو جمع
}

private void button2_Click(object sender, EventArgs e) //تفریق دکمه
{
    int a, b;
    a = Convert.ToInt32(textBox1.Text);
    b = Convert.ToInt32(textBox2.Text);
    textBox3.Text = (a - b).ToString(); //عدد دو تفریق
}

private void button3_Click(object sender, EventArgs e) //ضرب دکمه
{
    int a, b;
    a = Convert.ToInt32(textBox1.Text);
    b = Convert.ToInt32(textBox2.Text);
    textBox3.Text = (a * b).ToString(); //عدد دو ضرب
}

private void button4_Click(object sender, EventArgs e) //تقسیم دکمه
{
    int a, b;
    a = Convert.ToInt32(textBox1.Text);
    b = Convert.ToInt32(textBox2.Text);
    textBox3.Text = (a / b).ToString(); //عدد دو تقسیم
}

private void button5_Click(object sender, EventArgs e) //خروج دکمه
{
    Application.Exit();
}

ویژگی‌ها

AutoCompleteCustomSource

یکی از ویژگی‌های کادر متن AutoCompleteCustomSource است که ما می‌توانیم با وارد کردن چند آیتم درون آن، همان آیتم‌ها را در هنگام تایپ به کاربر پیشنهاد دهیم.

AutoCompleteSource

ویژگی AutoCompleteSource منبعی از ما دریافت می‌کند تا کلمات پیشنهادی را از آنجا بگیرد و ما با انتخاب گزینه (Collection) به او منبعی که خود در ویژگی AutoCompleteCustomSource ساخته‌ایم را می‌دهیم.

AutoCompleteMode

در ویژگی AutoCompleteMode ما می‌توانیم نهوه پیشنهاد کلمات را به کاربر مشخص کنیم.

PasswordChar

گاهی اوقات نیاز است که در هنگام پر کردن برخی از کادر متن‌ها مانند رمزعبور، داده‌های ورودی کاربر به صورت مخفیانه نمایش داده شود. اگر در مقابل ویژگی PasswordChar یک کاراکتر قرار دهیم، آن کاراکتر در هنگام تایپ کاربر به تعداد کاراکترهای ورودی نمایش داده می‌شود و اگر شخصی در کنار کاربر باشد رمز عبور او را نمی‌بیند.

CharacterCasing

با استفاده از ویژگی CharacterCasing می‌توانیم همه کاراکترهای ورودی کاربر را به حروف بزرگ یا کوچک تبدیل کنیم.

MaxLength

در ویژگی MaxLength می‌توانیم حداکثر کارکتری که کاربر می‌تواند وادر کند را مشخص کنیم.

MultiLine

در حالت عادی داده های کادر متن به صورت یک خط از کاربر دریافت می‌شود اما ممکن است ما برای دریافت مقادیری مانند آدرس نیاز داشته باشیم که کاربر اینتر کرده و در چند خط داده را وارد برنامه کند. برای انجام این کار در مقابل ویژگی MultiLine مقدار True را قرار می‌دهیم.

ScrollBars و WordWrap

در ویژگی ScrollBars می‌توانیم مشخص کنیم که با زیاد شدن محتوا، کادر متن سکرول افقی داشته باشد یا عمودی و یا هردو آنها. توجه داشته باشید که برای داشتن سکرول افقی باید در مقابل ویژگی WordWrap مقدار False را قرار دهیم.

ShortCutsEnabled

اگر قصد داشته باشید که نگزاریم کاربر روی کادر متن کلیک راست کند یا این که از کلیدهای میانبر مانند (Ctrl+C) برای کپی کردن متن استفاده کند باید در مقابل ویژگی ShortCutsEnabled مقدار False قرار دهیم.

رویدادها

TextChanged

هنگامی که درون کادر متن چیزی می‌نویسیم یا از آن پاک می‌کنیم، رویداد TextChanged اتفاق می‌افتد. حال قصد داریم هر چیزی که درون کادر متن نوشته شد در همان لحظه درون یک لیبل نیز نمایش داده شود. برای این کار باید درون رویداد TextChanged کادر متن، متن لیبل را با مقدار ورودی کادر متن پر کنیم.

private void textBox1_TextChanged(object sender, EventArgs e) //متن کادر متن تغییر
{
    label1.Text = textBox1.Text; //لیبل پرکردن
}

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

نظرات دانشجویان

کاربر درسمن
فربد

سلام اگه بخوایم تمام TextBox های موجود در یك فرم را بعد از انجام كار با یك دگمه خالی كنیم چه كار بایدكرد؟

پشتیبانی 1
پشتیبانی 1

 سلام فربد جان، باید تمامی مقادیر TextBox هارو با خالی جایگزین کنی، این دوره را تا انتها مشاهده کنید اگر به جواب خود نرسیدید دوباره بپرسید تا بیشتر راهنمایتون کنم. البته میتونید سوال خود را در انجمن برنامه نویسی درسمن نیز بپرسید تا خیلی سریع تر به جواب برسید.

کاربر درسمن
النا

کادر متن فقط برای دریافت اطلاعات استفاده میشه؟

پشتیبانی 1
پشتیبانی 1

سلام وقتتون بخیر، بله

کاربر درسمن
امیررضا

سلام.با تشکر از توضیحات عالی که تو این اموزش دادید.استاد اگه ممکنه طریقه ایجاد پدینگ(فاصله متن از کناره ها و بالا و پایین) رو در تکست باکس شرح بدید یا راهنمایی کنید که از چه متدی باید استفاده کنم؟ با تشکر

پشتیبانی 1
پشتیبانی 1

سلام دوست عزیز، از لطف شما ممنون هستیم، شما می توانید برای دسترسی راحت تر و سریع به جوابتان، سوال خود را در انجمن برنامه نویسی  مطرح نمایید.

کاربر درسمن
Arash

سلام خسته نباشید ببخشید من می خواستم بدونم چرا توی ویندوز فرم نمی شه حلقه نوشت ؟

پشتیبانی 1
پشتیبانی 1

سلام آرش جان، چرا نمیشه نوشت؟!!!!!

کاربر درسمن
Soren

سلام خسته نباشید مرسی از تدریس های خوبتون بنده می خواهم جلسه های ۱۲ و ۱۳ و ۲۰ را تماشا کنم ولی خطا می زند

پشتیبانی 1
پشتیبانی 1

سلام وقتتون بخیر، این دوره احتمالا قراره آپدیت بشه و با تدریس خود مهندس عباسی باشه.

نمایش بیشتر

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
ثبت نام

55