1 ضمیمه
خطای FormatException در کنترلی که از TextBox مشتق شده
سلام من یه یوزر کنترل درست کردم که از کلاس textBox ارثبری میکنه و کارش اینه که اجازه نده کاربر چیزی جز عدد وارد کنه تنها کد هایی که زدم اینه
void DigitTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(char.IsDigit(e.KeyChar) || (int)e.KeyChar == 8 || e.KeyChar == '-'))
{
e.Handled = true;
PlayError();
return;
}
if ((int)e.KeyChar != 8)
{
if (SelectedText.Length > 0)
{
int startSelecting = SelectionStart;
string beforeErasingText, afterErasing;
beforeErasingText = SelectionStart > 0 ? Text.Substring(0, Text.Length - SelectionStart) : "";
afterErasing = Text.Substring(SelectionStart + SelectionLength,
Text.Length - (SelectionStart + SelectionLength));
if (long.Parse(beforeErasingText + e.KeyChar + afterErasing) > MaxValue)
{
e.Handled = true;
PlayError();
return;
}
}
else
{
if (long.Parse(Text + e.KeyChar) > MaxValue)
{
e.Handled = true;
PlayError();
return;
}
}
}
if ((SelectionLength == Text.Length || Text.Length == 1) && (int)e.KeyChar == 8)
{
e.Handled = true;
Text = "0";
SelectAll();
}
}
void DigiTextBox_TextChanged(object sender, EventArgs e)
{
Text = long.Parse(Text).ToString();
long TextValue = long.Parse(Text);
if ((TextValue > MaxValue))
{
Text = MaxValue.ToString();
SelectAll();
return;
}
if (TextValue < 0 && TextValue < -1 * TextValue)
{
Text = (-1 * MaxValue).ToString();
SelectAll();
return;
}
}
long _maxValue = 1000000000000000000;
public long MaxValue
{
get
{
return _maxValue;
}
set
{
_maxValue = value;
}
}
مشکل من اینجاست که ویژوال اصلا اجازه نمیده من اینو توی فرم اد کنم و این ارور رو میده
ضمیمه 144158
ممنون از راهنمایی هاتون
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
مشکل از Constructor کلاس هست شما فقط کدهای دو تابع TextChangeو KeyPress گزاشتی.پست بالا رو ویرایش و کدهای کامل کلاس رو بزار.اگر قبل از کد نویسی تو انجمن یه جستجویی میکردی هم نمونه کامپوننت که دوستان گذاشتن پیدا میکردی هم نمونه کد تا اینکه مجدد شما کد بنویسی
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
نقل قول:
نوشته شده توسط
ژیار رحیمی
مشکل از Constructor کلاس هست شما فقط کدهای دو تابع TextChangeو KeyPress گزاشتی.پست بالا رو ویرایش و کدهای کامل کلاس رو بزار.اگر قبل از کد نویسی تو انجمن یه جستجویی میکردی هم نمونه کامپوننت که دوستان گذاشتن پیدا میکردی هم نمونه کد تا اینکه مجدد شما کد بنویسی
این همه کد ها:
http://s2.picofile.com/file/82828517...xtBox.rar.html
بازم ممنون از راهنماییتون
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
تست شد مشکلی نداشت.شما بهتره در یک فرم دیگر یا پروژه دیگر کامپوننت خودتو تست بزنی
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
من در اصل یه کامپوننت یا همون dll درست کردم و به پروژه هام اضافه میکنم در اصل این کاری که شما میگید رو قبلا هم رو سیستم خودم هم روی یه سیستم دیگه امتحان کردم اما مشکل سر جاش هست
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
به جای متد Parse از متد TryParse استفاده کنید.
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
نقل قول:
نوشته شده توسط
alireza4474
مشکل از اینجا نیست
چیزی که بنده گفتم رو انجام دادید؟ نتیجه چی بود؟
بعد از تغییر Parse به tryparse ، کدهاتون به چه صورت دراومد؟ کدهای جدیدتون رو بزارید.
نقل قول: خطای FormatException در کنترلی که از TextBox مشتق شده
اقا مشکل حل شد کد های رویداد TEXTCHANGE رو برداشتم توی KEYPRESS جادادم مشکلش حل شد