Autor Beitrag
Lucien81
Hält's aus hier
Beiträge: 4

WinXP,Win2003,Vista,Win2000,Linux (SLES), Open Suse
C# (VS 2008), T-SQL(SSME), PLSQL (SQLDEveloper)Oracle), Perl und ShellSkript
BeitragVerfasst: Mo 09.02.09 15:11 
Moin,
Ich habe eine Frage zur Fokussierung auf ein bestimmtes ToolStripMenuItem in einem ToolStripMenu.
Ich habe eine neues UserControl das von Textbox erbt beim Enter Event der Textbox das ToolstripMenu mit zulässigen Werten anzeigt. Dies können in einzelnen Fällen aber bis zu 160 verschiedene Werte sein.
Ich möchte das dabei ein Element als Standard definiert werden kann und direkt neben der Textbox angezeigt wird. Das ToolStripMenu wird dabei direkt neben der Textbox positioniert. Leider gibt es keine Focus() Methode.

Habs schon mit:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
private void Menu_Opening(object sender, CancelEventArgs e)
        {
            Menu.Items[Menu.Items.Count / 2].Select(); //Auf Mittigen Wert focussieren
            
            Menu.Invalidate();
        }

probiert. Leider kein resultat.
Wäre sehr dankbar für Eure Hilfe. Schon Stunden in die Recherche investiert, aber nix passendes gefunden.

MfG
Lucien81
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mo 09.02.09 16:58 
Hallo und :welcome:

Leider verstehe ich überhaupt nicht, was Du willst. Deine Beschreibung geht zwischen ToolStripMenuItem und TextBox hin und her. Wieso sollte Focus bei einer TextBox nicht gehen? Falls Du aber eine ToolStripTextBox aktivieren willst, dann geht das auf einem kleinen Umweg:
ausblenden C#-Quelltext
1:
this.ActiveControl = toolStripTextBox1.TextBox;					

Erklärung: Auf die ToolStripTextBox kann der Focus nicht gesetzt werden, aber man hat Zugriff auf die eingebettete TextBox, und das ist eine normale TextBox, auf die auch der Focus gesetzt werden kann.

Gruß Jürgen

Merke: Sorgfältige Beschreibung und korrekte Angabe der verwendeten Klassen hilft ungemein.
Lucien81 Threadstarter
Hält's aus hier
Beiträge: 4

WinXP,Win2003,Vista,Win2000,Linux (SLES), Open Suse
C# (VS 2008), T-SQL(SSME), PLSQL (SQLDEveloper)Oracle), Perl und ShellSkript
BeitragVerfasst: Mo 09.02.09 19:52 
Hallo,
danke erstmal für Deine Antwort. Leider konnte ich das noch nicht ausprobieren.
Zum UserControl das ich am Entwickeln bin:
erbt von TextBox und bietet quasi als Extra eine ContextMenuStrip das die Gültigen Werte der TextBox anzeigt. Dieses öffnet sich sobald die TextBox aktiviert wird.
Ist ein Kundenwunsch der sich dadurch eine schnellere Eingabe erhofft.
Hauptsächlich sind das numerische Werte die positiv als auch negativ sein können. Und auch mal 160 Stück in der Anzahl sein können.
Da als Basis Wert immer von 0 (null) ausgegangen werden soll, brauch ich eine Funktion die mir das ContextToolStripItem mit dem Wert '0' direkt neben der TextBox anzeigt.
hm... Ich hoffe ich habe mich verständlich ausgedrückt, sonst lade ich nochmal ein Bild hoch das dies veranschaulicht.

Ich wundere mich auch das Padding und Margin Werte für die ContextMenuStrip nicht übernommen werden.

Nochmals Danke für Deine Antwort.

schönen Abend noch.
MfG
Lucien81
Lucien81 Threadstarter
Hält's aus hier
Beiträge: 4

WinXP,Win2003,Vista,Win2000,Linux (SLES), Open Suse
C# (VS 2008), T-SQL(SSME), PLSQL (SQLDEveloper)Oracle), Perl und ShellSkript
BeitragVerfasst: Di 10.02.09 01:13 
Titel: So solls sein
so, hab noch ein soll-Beispiel angefügt. Ich muss halt in diesem Beispiel die 0 als Stanard Referenz setzen.

MfG
Lucien81
Einloggen, um Attachments anzusehen!