16. februar 2005 - 07:14Der er
7 kommentarer og 1 løsning
Simuler button_Click grafisk
Hejsa
Jeg er klar over at der ikke er ret vigtigt det her, men jeg vil nu gerne vide det alligevel, bare sådan for et syns skyld.
Når man har indtastet noget i en textbox kan an endten trykke på en kanp eller trykke enter for at fortsætte. Det virker fint, meeeen,,, jeg ville jo gerne at det også rent grafisk så ud som om man trykkede på knappen, når man vælger at trykke enter i stedet for rent faktisk at bruge knappen.
Det har som sagt ingen betydning for afviklingen, men det skal jo se pænt ud (det er jo det de unge vil ha)
Jeg ville lave noget der minder om at flytte musen hen til den knap det drejer sig om, og få den til at lave et tryk. Jeg ville gemme dens XY kordinater, så jeg kunne flytte den tilbage igen, når klikket var fortaget....
du kan i din tekstbox KeyDown-event tjekke for >enter< knappen, og når den bliver trykket ned sende en WindowsMessage der får din knap til at blive trykket på.
Det kræver en handle til din knap og at du sender en WM_LBUTTONDOWN-message til den.
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime; using System.Reflection; using System.Runtime.InteropServices;
namespace _591420 { /// <summary> /// Summary description for Form1. /// </summary> public class Form1 : System.Windows.Forms.Form { [DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true)] public static extern bool SendMessage( IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
Ja sådan skal det sikkert gøres :-). Jeg tjekker det lige når jeg får tid.
Der er dog en ting jeg lige kan se her med det samme. Du bruger i textBox1_KeyDown udtrykket "e.KeyCode", det har jeg sjovt nok set dig bruge før herinde, men det er altså ikke noget jeg kan få til at virke. Jeg bruger i stedet "e.KeyChar==13" til at tjekke for enter ???
der er en lille bug der gør at knappen bliver ved med at været trykket ned, dette løses ved at sende en LBUTTONUP-message også. For at gøre effekten tydeligere har jeg her ladet knappen været trykket ned i et sekund, men det kan bare ændres:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.