Witam!
Napisalem program w Windows Forms Application. W jednym polu TextBox wprowadzam literki, ktore sa edytowane w okreslony sposob, ale nie w tym rzecz. Pole NumericUpDown umozliwia zwiekszanie ilosci wprowadzonych liter do pola TextBox. Gdy zwiekszam liczbe to wszystko jest w porzadku, moge wpisywac wiecej liter, ale chce zeby jednoczesnie podczas zmniejszania wartosci pola NumericUpDown ilosc liter w polu TextBox zmniejszala sie automatycznie do wpisanej wartosci.
Jak zrobic taki kod ?? Nie moge sobie z tym poradzic.
Program potrzebuje najpozniej na dzisiaj wieczor :(
Musisz ręcznie obcinać textBox1.Text do potrzebnej długości.
textBox1.Text = textBox1.Text.Substring(0, dlugosc);
Program potrzebuje najpozniej na dzisiaj wieczor
Wybacz, ale nikogo to nie interesuje. Nie poganiaj innych gdy prosisz o pomoc.
Azarien napisał(a)
Musisz ręcznie obcinać textBox1.Text do potrzebnej długości.
textBox1.Text = textBox1.Text.Substring(0, dlugosc);
Program potrzebuje najpozniej na dzisiaj wieczor
Wybacz, ale nikogo to nie interesuje. Nie poganiaj innych gdy prosisz o pomoc.
Dzieki!
A co wprowadzic po "Substring" zeby sam sobie obcinal wpisany string do podanej value ?
Wprowadzilem taki kod:
textBox1.Text = textBox1.Text.Substring(1);
Niestety, ladnie kasuje literki w dol, ale gdy chce powiekszyc liczbe slow poprzez zwiekszenie wartosci w polu Numeric... to program wysyla blad
System.ArgumentOutOfRangeException: Wartość startIndex nie może być większa niż długość ciągu.
Nazwa parametru: startIndex
w System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
w MojeOkno.Form1.numericUpDown1_ValueChanged(Object sender, EventArgs e) w C:\Users\Daniel\Desktop\MojeOkno\MojeOkno\Form1.cs:wiersz 65
w System.Windows.Forms.NumericUpDown.OnValueChanged(EventArgs e)
w System.Windows.Forms.NumericUpDown.set_Value(Decimal value)
w System.Windows.Forms.NumericUpDown.DownButton()
w System.Windows.Forms.UpDownBase.UpDownButtons.BeginButtonPress(MouseEventArgs e)
w System.Windows.Forms.UpDownBase.UpDownButtons.OnMouseDown(MouseEventArgs e)
w System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
w System.Windows.Forms.Control.WndProc(Message& m)
w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
textBox1.MaxLength = (int)numericUpDown1.Value;
}
ew jak chcesz przez substring to
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
try
{
textBox1.Text = textBox1.Text.Substring(0, (int)numericUpDown1.Value);
}
catch { }
}
ew. możesz zrobić ifa przy który sprawdza TextBox1.Lenght i porownuje go z numeric value
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
Dziala :)
Dziekuje pieknie :)
Jest opcja jakiegos "piwa" na tym forum? :)
aaa62080 napisał(a)
ew jak chcesz przez substring to
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
try
{
textBox1.Text = textBox1.Text.Substring(0, (int)numericUpDown1.Value);
}
catch { }
}
Doskonały przykład jak i gdzie nie używać catch.