Diskuze: Udalosti od tlačítek

C# .NET .NET (C# a Visual Basic) Udalosti od tlačítek American English version English version

Avatar
j.tulacek
Člen
Avatar
j.tulacek:

Zdravim. Jak lze zjednodušit tenhle jednoduchy kod? Mám hodně událostí od tlačítek a v každé je k nim přiřazená stejná proměnná, kterou volám v proceduře. Díky.

Public Class Form1

Public Kod As Integer

Private Sub Command1_Click()
Me.TextBox1.Text = Kod
End Sub

Public Sub Button1_Click(sen­der As Object, e As EventArgs) Handles Button1.Click
Kod = 1
Command1_Click()
End Sub
Public Sub Button2_Click(sen­der As Object, e As EventArgs) Handles Button2.Click
Kod = 2
Command1_Click()
End Sub

Private Sub Button3_Click(sen­der As Object, e As EventArgs) Handles Button3.Click
Kod = 3
Command1_Click()
End Sub
End Class

 
Odpovědět 6.12.2014 7:58
Avatar
Odpovídá na j.tulacek
Michal Štěpánek:

Pro psaní kódu se používá tlačítko (2. zprava), takhle netuším, co k čemu patří... Udělej to znovu a lépe, ať ti někdo může poradit...

Nahoru Odpovědět 6.12.2014 12:51
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
j.tulacek
Člen
Avatar
Odpovídá na Michal Štěpánek
j.tulacek:

Myslim,že kod je zřejmý. Jak lze udělat v basicu pole událostí,kdy každému poli je přiřazeno pole jedný proměnný? (Kod)

 
Nahoru Odpovědět 6.12.2014 13:02
Avatar
Odpovídá na j.tulacek
Ondřej Štorc:

Udělj si jednu univerzální metodu na zpracování tlačítka, třeba něco takového:

Public Sub Button_Click(sender As Object, e As EventArgs) Handles Button1.Click
Kod = //sem dosad nějakej kód který dostane z nazvu tlacitka jeho kód (k tlacitku máš přístup přes objekt sender
Command1_Click()
End Sub

A tuhle metodu nastav všem jako jejich reakci na kliknutí..

Nahoru Odpovědět 6.12.2014 13:10
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
j.tulacek
Člen
Avatar
Odpovídá na Ondřej Štorc
j.tulacek:

Proměnná kod je ale univerzální a nezávislá,takže není stejná jako číslování buttonu.Třeba Kod=100 pro Button 1.

 
Nahoru Odpovědět 6.12.2014 13:26
Avatar
Odpovídá na j.tulacek
Ondřej Štorc:

A je ten kód vždy stejný pro jeden button? Jestli ano tak to přiřazení hodnoty "kod" pomocí switche...

Nahoru Odpovědět 6.12.2014 14:01
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
j.tulacek
Člen
Avatar
Odpovídá na Ondřej Štorc
j.tulacek:

Mam těch buttonů 50,potřebuju k nim jednu událost,protože pro každej button obsahuje jinej kod. Koukám že se způsob je to dělat přes Addhandler,
Odkaz třeba: http://www.codeproject.com/…Button-Array

 
Nahoru Odpovědět 6.12.2014 15:47
Avatar
j.tulacek
Člen
Avatar
Odpovídá na Ondřej Štorc
j.tulacek:

S Casema by to šlo asi taky,ale mit 50 casů by asi zabralo stejně místa jako 50 událostí od tlačítek.

 
Nahoru Odpovědět 6.12.2014 15:51
Avatar
Odpovídá na j.tulacek
Ondřej Štorc:

A neslo by teda to číslo zapracovat nějak do nazvu toho buttonu?
//Edit:pochopil jsem to špatně, jestli mas úplně odlišném kód pro každy tlačítko tak ti nezbyde asi nic jiného než to všechno nechat samotným událostem

Editováno 6.12.2014 17:24
Nahoru Odpovědět 6.12.2014 17:20
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Eldan
Člen
Avatar
Eldan:

Nějak zakomponuješ do názvu tlačítka kód, nebo (lepší možnost) přidáš tlačítku vlastnost kód. Pak budeš mít jednu metodu pro button.click která ze sendera vytáhne kód (a udělá ten zbytek)

Nahoru Odpovědět 6.12.2014 18:02
Unobfuscated executable == free source code
Avatar
Odpovídá na j.tulacek
sadlomaslox25:

a jeje co to tu zase vymyslite vseci ? :D
to co chces je ze kazdemu tlacitku priradis do vlastnosti Tag to cislo. pak staci mit na vsechny tlacitka jednu obsluznou udalost ve ktere si promenou sender pretypujes na button a vytahnes si z promene tag to cislo a ulozis si ho do promene kod a provedes ten svuj kod...

 
Nahoru Odpovědět 6.12.2014 18:17
Avatar
j.tulacek
Člen
Avatar
Odpovídá na sadlomaslox25
j.tulacek:

Aha. Mohl bys nastínit kod? Nejsem v tom takovej expert.

 
Nahoru Odpovědět 6.12.2014 18:54
Avatar
Odpovídá na j.tulacek
Michal Štěpánek:

50 buttonů? To zavání špatným návrhem aplikace. Kdybys to trošku popsal víc, třeba by to šlo řešit elegantněji...

Nahoru Odpovědět 6.12.2014 21:37
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
j.tulacek
Člen
Avatar
Odpovídá na Michal Štěpánek
j.tulacek:

Hele nešlo. Mam tabulku 50 příkazů a tema příkazama já kliknutím nastavuju přes seriovou linku řídící jednotku pro nemocniční lůžko.

 
Nahoru Odpovědět 6.12.2014 21:45
Avatar
Odpovídá na j.tulacek
sadlomaslox25:

v designeru udelas tech 50 tlacitek. pak v tom okne kde nastavujes barvu/text toho tlacitka najdes radek Tag. tam napises cislo toho sveho prikazu. pak vsechny tlacitka nastavis na jednu obsluznou udalost (to se priznam ze nevim jak se dela ve VB). a v te obsluzne udalosti pretypujes objekt sender na button a vytahnes si z tama ten Tag.
v c# je to +-

var tlacitko=sender as Button;
Kod= Convert.ToInt32(tla­citko.Tag);

 
Nahoru Odpovědět 7.12.2014 14:11
Avatar
j.tulacek
Člen
Avatar
 
Nahoru Odpovědět 7.12.2014 14:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.