سلام دوستان
من می خواستم تو VB.net کاری کنم که تو تکست باکس چیزی جز عدد نشه نوشت اگه ممکنه کمک کنید؟
Printable View
سلام دوستان
من می خواستم تو VB.net کاری کنم که تو تکست باکس چیزی جز عدد نشه نوشت اگه ممکنه کمک کنید؟
توی event به نام TextChanged باید چک کنید که عدد جدید درسته یا نه.
اگه درست باشه اونو توی یه متغییری ذخیره کنی و اگه درست نباشه متغییر قبلی رو بزاری جاش.
کد:string oldData="10";
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
int a =int.Parse(textBox1.Text);
}
catch
{
textBox1.Text = oldData;
}
oldData = textBox1.Text;
}
در رویداد keypress تکست باکس کد زیر را وارد کن
کد:
Dim keyasci As Integer = Asc(e.KeyChar)
Select Case keyasci
Case Asc("A") To Asc("Z")
e.Handled = True
Case Asc("a") To Asc("z")
e.Handled = True
End Select
آقا دست درد نکنه
سلام
این رو هم بد نیست داشته باشی
کد:If IsNumeric(TextBox1.Text) = False Then TextBox1.Text = ""
سلام
با اجازه اساتید بزرگ، ما پیرمردها بعضی اوقات با لنگه کفغش میپریم وسط!!!! شما ببخشید.
کد یک خطی زیر را در KeyPress قرار دهید، حل است!!!!
ضمناً یک کنترلر NumbericUpDown هم وجود دارد چرا از آن استفاده نمیکنید ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟کد:Private Sub f_Text_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles f_Text.KeyPress
e.Handled = Char.IsDigit(e.KeyChar) OrElse Char.IsControl(e.KeyChar)
End Sub
آقا دست همتون درد نکنه این همه راه حل برای یه سوال بابا خیلی کارتون درسته!!
سلامنقل قول:
مي شه اين كد رو به زبان وي بي . نت 2005 هم بنويسين تا ما تازه كار ها هم استفاده كنيم؟؟؟
سپاسگذارم
سلام
فکر نميکنم کد از اين کوتاه تر و کاملتر گير بياری
کد:Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If IsNumeric(e.KeyChar) = True Then
'شماره
Else
'حرف
e.Handled = True
End If
End Sub
این کد کلیدهای Backspace و Delete را هم از کار میاندازد، در پست قبلی من به علت استفاده از تابع IsControl مشکل فوق وجود ندارد.نقل قول:
ضمناً برای تبدیل کدهای دوست عزیزمان کاربر hamidreza_buddy و کلاً تبدیلات VB.Net قدرتمند و C#.Net قدرتمند به یکدیگر به لینکهای زیر مراجعه کنید:
kamalpatel.net/ConvertCSharp2VB.aspx
carlosag.net/Tools/CodeTranslator/Default.aspx
developerfusion.co.uk/utilities/convertcsharptovb.aspx]
سلام دوستان من همه كدها در C#.net امتحان كردم اما هيچكدوم جواب نداد ؟ كدها رو هم تبديل كردم ! وقتي كه كد مينويسي ديگه عدد وارد نمي كنه؟ راحل چيه؟
این کدها برای اعدادی مثل 1.25 6- 2/3 (دو سوم) 0.59 کار نمیدن پس چه سود؟:41:
باید یه solution ی باشه...:20:
سلام
حدس من آن است که رویدادهای شما متصل نشده اند!نقل قول:
در VB پرکاربرد ترین روش اتصال به کلمه Handles است که در C#.Net وجود ندارد، شما حتماً باید به نمایه طراحی بروید و از آنجا به کمک پنجره Properties رویداد KeyPress را تایپی کنید، یعنی بگذارید خود Designer محیط C#.Net خط اول مربوط به KeyPress را تایپ کند و شما داخلش را پر کنید.
شاید به ظاهر فرقی نکند و هر دو تایپ شده باشند ولی اگر این کار را خود طراح C#.Net انجام دهد کد اتصال را در فایل نظیر design.cs مینویسد.
یا اگر کد را تایپ کرده اید میتوانید باز به نمایه طراحی بروید و به پنجره Properties مراجعه کنید و در قسمت رویدادها (دکمه کوچک Events در بالای پنجره کوچک فوق) رویداد KeyPress را گیر آورید و آن را به روال TextBox1_KeyPress تان متصل کنید.
موفق باشید.
با سلام خدمت تمامي دوستان.
راستش يه سوال مهم داشتم.
اگه بخواهيم درون تكست باكس فقط حروف بگيريم و عدد نباشه چيكار بايد كرد؟
بايد چه مدلي بنويسيم؟از 1 تا 9؟
سلام
تفاوت خاصی ندارد از همان رویداد مورد بحث این تاپیک میتوانید استفاده کنید:نقل قول:
اگه بخواهيم درون تكست باكس فقط حروف بگيريم و عدد نباشه چيكار بايد كرد؟
به عنوان نمونه کد فوق هر چیزی غیر عدد را قبول میکند.کد:Private Sub f_Text_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles f_Text.KeyPress
e.Handled = (Not Char.IsDigit(e.KeyChar)) OrElse Char.IsControl(e.KeyChar)
End Sub
موفق باشید.