2012-04-06 6 views
2

Je crée un navigateur Web avec des onglets. Pour entrer l'URL, j'essaye de placer un MenuStrip avec son ToolStripMenuItem comme zone de texte. Je crée tous les contrôles dynamiquement et j'ai 2 questions.C# - Création dynamique de MenuStrip

1). Comment puis-je insérer une zone de texte en tant que ToolStripMenuItem à partir du code?

(pour cette capture d'écran que j'ai ajouté le MenuStrip au moment de la conception)

enter image description here

2). Comment puis-je changer sa largeur?

Merci à tous.

+1

Facile à faire dans le code en ajoutant un ToolStripTextBox à la collection DropDownItems de l'élément de menu. L'interface n'est pas très bonne, cependant, il n'est pas évident que c'est une boîte de texte jusqu'à ce que l'utilisateur la sélectionne. Et il n'y a pas de bonne façon de signaler "J'ai fini de taper!" –

+0

@HansPassant: Je suis d'accord. Cela ne ressemble pas du tout à une boîte de texte! J'utilise la méthode 'Focus()' pour placer le curseur dans la zone de texte chaque fois qu'un nouvel onglet est créé. – Isuru

Répondre

2

Vous pouvez utiliser ToolStripTextBox

toolStripTextBox1 = new System.Windows.Forms.ToolStripTextBox(); 
    toolStripTextBox1.Size = new System.Drawing.Size(100, 25); 
    toolStrip1.Items.Add(toolStripTextBox1); 
2

Créer le contrôle:

var textBox = new System.Windows.Forms.ToolStripTextBox(); 

Mettre en place certaines propriétés:

textBox.Name = "someName"; 
textBox.Size = new System.Drawing.Size(300, 25); // width, height 

Ajouter au ToolStrip:

toolStrip.Items.Add(textBox);