Deaktivieren der "Entf" Taste für Datagrid

LissiOne

Grünschnabel
Hallo,

ich habe ein Windows.Forms.Datagrid und möchte dort verbieten, dass das Drücken der "Entf" Taste bei Selektion einer Zeile diese löscht (so verhält es sich gerade)
Wer kann helfen?

Vielen Dank,
Lissi
 
Überschreibe das DataGrid und schau dort die Methode OnKeyDown an. Fang dort die Taste ab und Schmeiss das Event ab.

Anders gehts glaub ich nicht.

Chris
 
Hallo,

eine andere Möglichkeit wäre, die Methode "ProcessCmdKey" zu überschreiben. Wenn die Meldung kommt das die "Entf"-Taste gedrückt wurde kann hier eine entsprechende Reaktion erfolgen. Andere Meldungen werden einfach weitergereicht.

Gruß,
Arcaton
 
Lösung :-)

Nochmal danke für die Tips, in Kombination funktionierts. Falls nochmal jemand das Problem hat, hier meine Lösung:

Code:
using System;
using System.Windows.Forms;

namespace MyNamespace
{
	public class MyDataGrid : System.Windows.Forms.DataGrid
	{
		public MyDataGrid():base()
		{
			//hier passiert nichts ;-)	
		}

		protected override void OnKeyDown ( System.Windows.Forms.KeyEventArgs ke )
		{
			if(ke.KeyCode == Keys.Delete)
			{
			}
		}
		protected override System.Boolean ProcessDialogKey ( System.Windows.Forms.Keys keyData )
		{
			if(keyData == Keys.Delete)
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}
}

Viele Grüße, Lissi
 
Zurück