PDA

View Full Version : گفتگو: نحوه بررسی محتویات ماسک تکس باکس



میلاد قاضی پور
یک شنبه 23 خرداد 1389, 17:23 عصر
سلام . اگر بخوایم بدونیم کاربر در ماسک تکس باکسی که تاریخ تولد رو میگیره مقداری رو وارد کرده یا نه چی باید بنویسیم . با فرض اینکه ترجیحا رجکس استفاده نکنیم.

میلاد قاضی پور
یک شنبه 23 خرداد 1389, 17:53 عصر
مثلا من این کد رو نوشتم ولی ارور میده که :

object refrence not set to an instance of an object


private void textBoxM1_tavalod_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
{
if (!e.IsValidInput)
{
MessageBox.Show("لطفا تاریخ تولد را بدرستی وارد کنید");
}
}

mmd2009
یک شنبه 23 خرداد 1389, 21:33 عصر
اگر میخوای ببینی که کاربر در mask چیزی نوشته یا نه باید این کدهارو بنویسی





namespace WindowsApplication13
{
public partial class Form1 : Form
{
string a;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
if(maskedTextBox1.Text == a)
MessageBox.Show("لطفا مقداری رو وارد کنید");
}

private void Form1_Load(object sender, EventArgs e)
{
a = maskedTextBox1.Text.ToString();
}
}
}




حالا منظورتو زیاد متوجه نشدم میشه یه کم بیشتر توضیح بدی

mmd2009
یک شنبه 23 خرداد 1389, 21:46 عصر
حالا فرض میکنیم تعداد روزها 30 هستش و مطمئنا تعداد ماه هم 12 هستش

قبول دارید که اگر تعدار روز ها بیشتر از 30 باشد باید پیغام خطا بده و همچنین اگر تعداد ماه بیشتر از 12 باشه بازم باید پیغام خطا بده

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

البته بازم میشه حالتو بهتر کرد






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication13
{
public partial class Form1 : Form
{
string a;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
if(maskedTextBox1.Text == a)
MessageBox.Show("لطفا مقداری رو وارد کنید");
string b = maskedTextBox1.Text.Substring(5,2).ToString();
if (int.Parse(b) > 12)
MessageBox.Show("ماه مورد نظر اشتباه است");

string d = maskedTextBox1.Text.Substring(8, 2).ToString();
if (int.Parse(d) > 30)
MessageBox.Show("روز مورد نظر اشتباه است");
}

private void Form1_Load(object sender, EventArgs e)
{
a = maskedTextBox1.Text.ToString();
}
}
}

میلاد قاضی پور
یک شنبه 23 خرداد 1389, 22:36 عصر
هرچند کدش زیاد بود ولی خوب بود. اما مجبور شدم از رجکس استفاده کنم .

mmd2009
دوشنبه 24 خرداد 1389, 01:20 صبح
میشه راهی که خودتون رفتید رو توضیح بدید ممنون میشم دوست عزیز :چشمک: