NumericUpDown - opcja zmniejszania liter w polu

0

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 :(

0

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.

0
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)

0
        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)
        {


        }
0

Dziala :)
Dziekuje pieknie :)
Jest opcja jakiegos "piwa" na tym forum? :)

0
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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1