3
Answers

Keyboard events handler for C# WinForms application

Photo of Pit Pi

Pit Pi

15y
7.6k
1
Hi,

how can I do global keyboard event handler for C# winform application? I think it should be a separate class with some methods and events, but I do not know exactely how to do this. Global handler should provide funcionallity to catch key pressed (for handling shortcuts).

best regards

Answers (3)

0
Photo of tsuman_in
NA 152 0 21y
Just so you know, you should never loop through to build strings, they are immutable and this gets very costly. Use: StringBuilder sb = new StringBuilder(); foreach(Control co in r.Cells[2].Controls) { if (co.GetType() == typeof(Checkbox)) sb.Append((Checkbox)co).Checked.ToString()+"\n"; } string output = sb.ToString();
0
Photo of thed0ct0r
NA 48 0 21y
foreach(Control co in r.Cells[2].Controls) { if (co.GetType().Name.ToString() == "Checkbox") TextBox1.Text+= ((Checkbox)co).Checked.ToString()+"\n"; }
0
Photo of John O Donnell
NA 3.5k 1.4m 21y
Always the same...you post a question then work it out!! the answer was to use the uniqueid of the control and then use findcontrol to return it. Also needed to cast the control etc. now it all works and heres the code foreach(Control co in r.Cells[2].Controls) { CheckBox cb=(CheckBox)this.FindControl(co.UniqueID); TextBox1.Text=TextBox1.Text+cb.Checked.ToString()+"\n"; }