'VB
Protected Overrides Sub OnKeyDown(e As KeyEventArgs)
Select Case e.KeyCode
Case Keys.Up
MessageBox.Show("Up Key Pressed")
Case Keys.Down
MessageBox.Show("Down Key Pressed")
Case Keys.Left
MessageBox.Show("Left Key Pressed")
Case Keys.Right
MessageBox.Show("Right Key Pressed")
End Select
MyBase.OnKeyDown(e)
End Sub 'OnKeyDown
7.37. How do I get a double click event when only the Click event is supported?
See the .NET Compact Framework QuickStarts, Implementing Events topic:
http://samples.gotdotnet.com/quickstart/compactframework/doc/btndclick.aspx
7.38. How do I get onenter/onleave style notifications?
See the .NET Compact Framework QuickStarts, OnEnter/OnLeave Functionality:
http://samples.gotdotnet.com/quickstart/compactframework/doc/enterleave.aspx
7.39. How do I use threading in a modal dialog that doesn't hang my app?
Create a modeless dialog that behaves like a model dialog. //C#
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Collections;
using System.ComponentModel;
public interface IModelessDialogCallback
{
void DialogResultCallback(DialogResult result);
}
public class Test : System.Windows.Forms.Form, IModelessDialogCallback
{
ModelessDialog dlg;
Button bShow;
int counter = 0;
protected override void OnLoad(EventArgs e)
{
this.Text = "Modal(less) Dialog Example";
this.bShow = new Button();
this.bShow.Parent = this;
this.bShow.Bounds = new Rectangle (10, 10, 150, 30);
this.bShow.Text = "Show Dialog";
this.bShow.Click += new EventHandler(this._Click);
this.dlg = new ModelessDialog(this);
}
private void _Click(object o, EventArgs e)
{
this.Enabled = false;
this.bShow.Text = "waiting for dlg";
dlg.Show();
}
public void DialogResultCallback(DialogResult result)
{
MessageBox.Show("dialog returned: " + (result == DialogResult.OK ? "OK" : "Cancel"));
this.Enabled = true;
this.bShow.Text = "Show Dialog:" + ++counter;
}
public static void Main()
{
Application.Run(new Test());
}
}
public class ModelessDialog : Form
{
IModelessDialogCallback parent;
Button bOK, bCancel;