PDA

View Full Version : نحوه بررسی پر یا خالی بودن یک maskedTextBox



Jean Reno
سه شنبه 17 شهریور 1388, 23:11 عصر
با سلام
من بوسیله کد زیر نحوه پر یا خالی بودن یک TextBox رو بررسی می کنم که کاربر نتونه حتی فضای خالی وارد کنه



if(string.IsNullOrEmpty(textBox1.Text))


حال چطور می تونم مثل همین نحوه پر یا خالی بودن یک maskedTextBox رو با توجه به این که فرمتی براش تعیین شده بررسی کنم
لازم به ذکر است که چون برای maskedTextBox فرمت 00-0000-000 رو وارد کردم حتی اگر اعدادی رو وارد maskedTextBox نکنم خودش خط تیره ها رو داره پس نمی تونم مثل TextBox باهاش برخورد کنم

behnood307
چهارشنبه 18 شهریور 1388, 00:40 صبح
سلام . البته من کد Vb.net رو بلدم فکر کردم شاید بتونه کمکی باشه

برای تست خالی بودن:


Imports System.Text.RegularExpressions

If Regex.IsMatch(MaskedTextBox1.Text, " - -") = True Then
MsgBox("khali")
End If



" - -" این همون ماسکی که هست که تعیین کردی


برای تست پر و صحیح بودن :
با توجه به فرمت ماسکی که مشخص کردی فرمت (00-0000-000 ) مثلاً اگه شما در نظر داشته باشید که کاربر بتونه از اعداد0 تا 9 رو در هر رقم از ماسک تکست باکس قرار بده ، (مثلاً 76-9110- 024 ) می تونیم بنویسم :



Dim txtFormat As String
txtFormat=[0-9]{3}-[0-9]{4}-[0-9]{2}


یا اگه شما در نظر داشته باشید که کاربر بتوان " از 1 تا 9 رو در رقم اول از سمت چپ و اعداد 2 تا 8 رو در رقم دوم و
اعداد 0 تا 9 رو در بقیه ارقام " قراربده ، (مثلا" 74- 1009-180 ) اونوقت باید بنویسیم:


txtFormat=[1-9]{1}[2-8]{1}[0-9]{1}-[0-9]{4}-[0-9]{2}

و در نهایت :

If Regex.IsMatch(MaskedTextbox1.Text, txtFormat) = True Then
MsgBox("por")
End If

Jean Reno
چهارشنبه 18 شهریور 1388, 19:57 عصر
کسی راه حلی برای سی شارپ داره ؟

اَرژنگ
چهارشنبه 18 شهریور 1388, 20:23 عصر
http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.validatingtype( VS.80).aspx

private void Form1_Load(object sender, EventArgs e)
{
maskedTextBox1.Mask = "00/00/0000";
maskedTextBox1.ValidatingType = typeof(System.DateTime);
maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeVali dationCompleted);
maskedTextBox1.KeyDown += new KeyEventHandler(maskedTextBox1_KeyDown);

toolTip1.IsBalloon = true;
}

void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
{
if (!e.IsValidInput)
{
toolTip1.ToolTipTitle = "Invalid Date";
toolTip1.Show("The data you supplied must be a valid date in the format mm/dd/yyyy.", maskedTextBox1, maskedTextBox1.Location.X, maskedTextBox1.Location.Y, 5000);
}
else
{
//Now that the type has passed basic type validation, enforce more specific type rules.
DateTime userDate = (DateTime)e.ReturnValue;
if (userDate < DateTime.Now)
{
toolTip1.ToolTipTitle = "Invalid Date";
toolTip1.Show("The date in this field must be greater than today's date.", maskedTextBox1, maskedTextBox1.Location.X, maskedTextBox1.Location.Y, 5000);
e.Cancel = true;
}
}
}

// Hide the tooltip if the user starts typing again before the five-second display limit on the tooltip expires.
void maskedTextBox1_KeyDown(object sender, KeyEventArgs e)
{
toolTip1.Hide(maskedTextBox1);
}

sh
پنج شنبه 19 شهریور 1388, 00:07 صبح
If MaskedTextBox2.MaskCompleted = False Then

ali7499
دوشنبه 15 مهر 1398, 20:49 عصر
سلام

از گزینه MaskCompleted استفاده کنید.

if (!mskroz.MaskCompleted )
{
MessageBox.Show("لطفا ساعت را وارد نمایید.");
}

ASHKANLAEI
سه شنبه 16 مهر 1398, 13:44 عصر
سلام

از گزینه MaskCompleted استفاده کنید.

if (!mskroz.MaskCompleted )
{
MessageBox.Show("لطفا ساعت را وارد نمایید.");
}

دوست عزیز لطفاً به زمان تاپیک دقت کنید.