نقل قول: Nomeric TextBox یعنی چه؟
این نوع TextBox فقط ارقام عددی و جداکنندههای عددی (مثل نقطه برای ممیز، یا کاما برای جدا کردن سه تا سه تای ارقام) رو دریافت میکنه. یعنی هر کلید دیگهای فشار بدید کنترل از اون صرف نظر میکنه و نشون نمیده.
نقل قول: Nomeric TextBox یعنی چه؟
سلام
این کلاس باعث ایجاد یه تکست باکس میشه که فقط عدد رو از ورودی میگیره.(کاراکترهای مجازش میشن اعداد، "."(نقطه اعشار) ، کلید backspace ، "-"(منفی)، " "(فاصله))
نقل قول: Nomeric TextBox یعنی چه؟
من این کلاس را ایجاد کردم اما پس چطور باید از آن استفاده کرد زیرا من یک تکسباکس گذاشتم و در هنگام اجرا ی برنامه مال من همه نوع کلید را قبل می کنه و صرفا به اعداد حساس نیست و حروف را نیز قبول می کنه .
ممنون می شم اگه مرا در مورد چگونه استفاده کردن این کلاس راهنمایی کنید.
من کد این کلاس را از MSDN گرفتم و به همین دلیل از آن درست استفاده نتونستم.
با سپاس.
نقل قول: Nomeric TextBox یعنی چه؟
نقل قول:
نوشته شده توسط
voice.of.silence
من این کلاس را ایجاد کردم اما پس چطور باید از آن استفاده کرد زیرا من یک تکسباکس گذاشتم و در هنگام اجرا ی برنامه مال من همه نوع کلید را قبل می کنه و صرفا به اعداد حساس نیست و حروف را نیز قبول می کنه .
ممنون می شم اگه مرا در مورد چگونه استفاده کردن این کلاس راهنمایی کنید.
من کد این کلاس را از MSDN گرفتم و به همین دلیل از آن درست استفاده نتونستم.
با سپاس.
کدی که اینجا نوشته میشه بعد از اجرا تبدیل میشه به یه کمپونتت. البته بسته به اینکه نوع پروژه چی باشه dll یا داخل exe میافته.
اون کمپوننت رو مثل سایر کنترلهای ToolBox به اون قسمت اضافه کنید و هر جا احتیاج داشتید بندازید روی فرمتون.
نقل قول: Nomeric TextBox یعنی چه؟
دوست عزیز نحوه استفاده از این کلاس که درون خودش توضیح داده شده
// Create an instance of NumericTextBox.
NumericTextBox numericTextBox1 = new NumericTextBox();
numericTextBox1.Parent = this;
//Draw the bounds of the NumericTextBox.
numericTextBox1.Bounds = new Rectangle(5, 5, 150, 100);
شما دیگه نیاز نیست به صورت دستی تکست باکس ایجاد کنید. واسه ایجادش از کد بالا استفاده کن.
نقل قول: Nomeric TextBox یعنی چه؟
دوستان منظورم اینه که در هنگام اجرا ی برنامه تکسباکس روی فرم ایجاد می شه اما مشکل در اینجاست که حروف را هم قبول می کنه .
همانطور که شما گفتید این تکسباکس برای اعداد طراحی شده .
نقل قول: Nomeric TextBox یعنی چه؟
ببینید شما به این شکل از این کد استفاده کنید.
اول باید کلاس NumericTextBox رو ایجاد کنیم. یه کلاس جدید Add کن و کد بالا رو به این شکل استفاده کن.(با تغییرات جزیی در Usingها)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Globalization;
namespace WindowsFormsApplication1
{
class NumericTextBox : TextBox
{
bool allowSpace = false;
// Restricts the entry of characters to digits (including hex), the negative sign,
// the decimal point, and editing keystrokes (backspace).
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
NumberFormatInfo numberFormatInfo = System.Globalization.CultureInfo.CurrentCulture.Nu mberFormat;
string decimalSeparator = numberFormatInfo.NumberDecimalSeparator;
string groupSeparator = numberFormatInfo.NumberGroupSeparator;
string negativeSign = numberFormatInfo.NegativeSign;
string keyInput = e.KeyChar.ToString();
if (Char.IsDigit(e.KeyChar))
{
// Digits are OK
}
else if (keyInput.Equals(decimalSeparator) || keyInput.Equals(groupSeparator) ||
keyInput.Equals(negativeSign))
{
// Decimal separator is OK
}
else if (e.KeyChar == '\b')
{
// Backspace key is OK
}
// else if ((ModifierKeys & (Keys.Control | Keys.Alt)) != 0)
// {
// // Let the edit control handle control and alt key combinations
// }
else if (this.allowSpace && e.KeyChar == ' ')
{
}
else
{
// Swallow this invalid key and beep
e.Handled = true;
// MessageBeep();
}
}
public int IntValue
{
get
{
return Int32.Parse(this.Text);
}
}
public decimal DecimalValue
{
get
{
return Decimal.Parse(this.Text);
}
}
public bool AllowSpace
{
set
{
this.allowSpace = value;
}
get
{
return this.allowSpace;
}
}
}
}
حالا تو Form_Load فرمی که میخوای از این تکست باکس استفاده کنی به این شکل کد رو بنویس
private void Form1_Load(object sender, EventArgs e)
{
NumericTextBox NumericTextBox1 = new NumericTextBox();
NumericTextBox1.Parent = this;
NumericTextBox1.Bounds = new Rectangle(5, 5, 150, 100);
}
موفق باشی
1 ضمیمه
نقل قول: Nomeric TextBox یعنی چه؟
نقل قول:
نوشته شده توسط
voice.of.silence
دوستان منظورم اینه که در هنگام اجرا ی برنامه تکسباکس روی فرم ایجاد می شه اما مشکل در اینجاست که حروف را هم قبول می کنه .
همانطور که شما گفتید این تکسباکس برای اعداد طراحی شده .
امتحان کردم. خیلی خوب کار کرد. ضمیمه رو ببینید و بهمون بگید چی رو اشتباه زده بودید. قرار نیست هیچی به فرم اضافه کنید. خود کدها همهی کارها رو میکنن.
نقل قول: Nomeric TextBox یعنی چه؟
واقعاً جالبه که چقدر برای کسی که برای تاپیکش حتی یک جست و جو ساده هم نکرده وقت میزارید.
اگر یک بار در گوگل سرچ میکرد میفهمید که Numeric رو اینطوری نمینویسن.
نقل قول: Nomeric TextBox یعنی چه؟
نقل قول:
نوشته شده توسط
FastCode
واقعاً جالبه که چقدر برای کسی که برای تاپیکش حتی یک جست و جو ساده هم نکرده وقت میزارید.
اگر یک بار در گوگل سرچ میکرد میفهمید که Numeric رو اینطوری نمینویسن.
نیت کمک بود. وگرنه گوگل هم لازم نبود. کد کلاسی که کپی کردن همون عبارت رو داره! چون منصفانه گفتن کد رو از MSDN کپی کردم سعی کردم کمکشون کنم. :)
نقل قول: Nomeric TextBox یعنی چه؟
نقل قول:
نوشته شده توسط
مسعود اقدسی فام
امتحان کردم. خیلی خوب کار کرد. ضمیمه رو ببینید و بهمون بگید چی رو اشتباه زده بودید. قرار نیست هیچی به فرم اضافه کنید. خود کدها همهی کارها رو میکنن.
ممنون دوست من اشکال من این بود که دو بار برای کلاس نام تعریف کرده بودم و زمانی که یکی از آنها را حذف کردم برنامه به خوبی کار کرد. با تشکر مجدد.
Voice of Silence
نقل قول: Nomeric TextBox یعنی چه؟
نقل قول:
نوشته شده توسط
FastCode
واقعاً جالبه که چقدر برای کسی که برای تاپیکش حتی یک جست و جو ساده هم نکرده وقت میزارید.
اگر یک بار در گوگل سرچ میکرد میفهمید که Numeric رو اینطوری نمینویسن.
سلام
ببخشید اینجا سایت برنامه نویس است یا کلاس املای زبان انگلیسی؟
اشتباهات املایی در زمان تایپ هم ممکنه رخ بده. شما از کامپایلر C# هم حساسترید:متعجب:.
پس منه مبتدی که قصد دارم شروع به برنامه نویسی کنم و زبان هم نمیدانم کجا برم؟ اگر کسی به مشکل و سوال بر نمیخورد یا همه از سایتهای خارجی استفاده میکردند وجود این سایت چه ضرورتی داشت؟ هر کسی در هر سطحی ممکنه به مشکل بر بخوره و اینجا جای سوال و جوابه.
نقل قول:
نوشته شده توسط voice.of.silence
من این کلاس را ایجاد کردم اما پس چطور باید از آن استفاده کرد زیرا من یک تکسباکس گذاشتم و در هنگام اجرا ی برنامه مال من همه نوع کلید را قبل می کنه و صرفا به اعداد حساس نیست و حروف را نیز قبول می کنه
دقت داشته باشید که تا زمانی که کلاس را به صورت کامپوننت به پروژه اضافه نکردید آن را در ToolBox ندارید و باید به روشی که Nima_kyan گفتند استفاده کنید.
اگر باز هم مشکلتون حل نشد بگید تا یک نمونه کامل از همین کلاس با طریقه استفاده براتون قرار بدم:قلب:.
نقل قول: Nomeric TextBox یعنی چه؟
نقل قول: Nomeric TextBox یعنی چه؟
ممنونم از حسن نظرتان. دوست من این پست شما باعث شد که برایم این سوال ایجاد شود که چرا من نمی تونم این تکستباکس را در تولباکس نی بینم و فقط می توان از آن به صورت داینامیک استفاده کرد؟
نقل قول: Nomeric TextBox یعنی چه؟
اگر به شکل UserControl به شکل تکی در یک فایل ایجاد کنید باید در Toolbox نمایش داده بشه.
pubilc class MyControl: UserControl{}