[C#] Zaznaczanie wygenerowanych numericUpDown ?

0

Sluchajcie, jak zrobic kontrolke, która po utworzeniu danej ilosci numericUpDown'ów, bedzie powodowała zaznaczanie zawartości danego (i każdego) numericUpDown, gdy w niego wejde lub klikne? tak jak to sie robie w własciwościach (Enter i Click) i sie pisze:

      void NumericUpDown1Click(object sender, EventArgs e)
	{
		numericUpDown1.Select(0, numericUpDown1.ToString().Length);
	}
		
      void NumericUpDown1Enter(object sender, EventArgs e)
	{
		numericUpDown1.Select(0, numericUpDown1.ToString().Length);
	}

Tyle za podkreślam - ogolnie dla NumericUpDown, a nie dla kazdego z osobna, bo tak akurat nie moge.

0

Przypnij to samo zdarzenie do wszystkich kontrolek i zrób mniej więcej tak:

void NumericUpDown_Click(object sender, EventArgs e)
{
      NumericUpDown nud = (NumericUpDown)sender;
      nud.Select(0, nud.ToString().Length);
}
0

Hmm.. Ale jak to przypiąc? Bo z tego co widze deklarujemy tutaj działanie dla wszystkich NumericUpDown i ten kod powinien byc tylko wpisany w kod programu i juz działac, co nie? Czy moze robi sie to tez jakos tak, ze wchodze w Events (własciowsci) danego obiektu (tutaj NumericUpDown) i w komorce Click klikam dwa razy i wpisuje ten kod, który podałes? Sorki ze moge tego nie wiedziec, ale chce sie nauczyc.. ;)

0

W propertiesach wchodzisz w events i znajdujesz event click i tam masz comboboxa i tam wybierasz z listy rozwijanej tę funkcję dla wszystkich numericow ktore tam chcesz.

0

No i tak tez zrobiłem, bo to akurat to wiedziałem. Ale patrzcie o co mi chodzi: To co mi mówicie i tak jak robiłem działa tylko dla tego elementu, któremu wszedłem w Events -> Click i ustawiłem tego void NumericUpDown, a mi zalezy, żeby to było dla wszystkich numericUpDown wygenerowanych u mnie w calej Form'atce. Bo ja generuje dana ilosc, która podaje i nie mam jak ustawic tego recznie dla tych, które są wygenerowane, bo w projekcie ich nie ma. I ja zamiast ustawic gdzies globalnie to zaznaczanie ustawiam tylko dla danego Numeric'a.. Dlatego gdzie moge ustawic globalnie to zaznaczanie dla kazdego Numeric'a jaki zostanie wygenerowany?

0

to dodaj eventa w kodzie jak tworzysz kontrolkę. Spójrz w plik designer.cs jak są dodawane zdarzenia albo poszukaj na necie i na pewno znajdziesz.

0
koles6969 napisał(a)

Dlatego gdzie moge ustawic globalnie to zaznaczanie dla kazdego Numeric'a jaki zostanie wygenerowany?

Jeśli nie trzymasz ich w tablicy, to po wygenerowaniu dopnij im zdarzenie w pętli:

foreach (Control c in this.Controls)
    if (c is NumericUpDown)
        c.Click += this.numericUpDown_Click;
0

To co napisałeś somekind jeszcze nie lukałem, ale to co napisał pako1337 działa tez dobrze. ;) Zaraz oblukam tez Twoją somekind opcje. Tylko ze ja trzymam te numericUpDown w tablicy bo wykonuje na nich działania i mi są potrzebne te tablice. Jesli chodzi o to co zrobiłem, tak jak mi kazał pako1337 to na przyszłośc komuś innemu pokazuje jak to zrobiłem:

tutaj gdzie mam kod generujący mi te numericUpDown'y
dopisuje tą linijke wyciągnietą z designer.cs

                 
jakas_nazwa.Click += new System.EventHandler(this.NumericUpDown_Click);

Jak ktoś nie wie co to "jakas_nazwa" to jest to nazwa która podajemy podczas tworzenia kodem numericUpDown, to kod poniżej


NumericUpDown jakas_nazwa = new NumericUpDown();


</b>

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