Je possède ce simple morceau de code:coulée fenêtres de contrôle
private void btnAdd_Click(object sender, EventArgs e)
{
if (AskForSaveBeforeClose(null))
{
LoadForm<Soles>(btnAdd, "Add");
}
}
btnAdd
car maintenant mon seul bouton avec le type ToolStripDropDown
. Tous les autres boutons sont du type ToolStripButton
. Comme vous le voyez, je passe ce bouton en tant que paramètre e à une méthode, et j'utilise ToolStripButton
comme type de paramètre dans beaucoup d'autres méthodes. Je ne veux pas trop casser mon code, et je pense qu'il devrait être possible de lancer btnAdd
formulaire ToolStripDropDownButton
à ToolStripButton
et résoudre mon problème. Cela peut-il être fait et si ce n'est pas le cas, avez-vous une autre idée pour conserver mon code? J'ai besoin de la fonctionnalité déroulante, mais toute solution de rechange est acceptable pour le moment.
cette hiérarchie est l'héritage:
System.Object System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ScrollableControl
System.Windows.Forms.ToolStrip
System.Windows.Forms.MenuStrip
System.Windows.Forms.StatusStrip
System.Windows.Forms.ToolStripDropDown
System.Windows.Forms.ToolStripDropDownMenu
System.Windows.Forms.ContextMenuStrip
Que faites-vous avec les boutons dans les méthodes que vous les transmettez? Si vous activez/désactivez alors vous pouvez simplement traiter les boutons comme un type de contrôle ... –
Tâches de base - changer 'ForeColor' et ce genre de choses – Leron
Vérifiez les propriétés du type de contrôle: http://msdn.microsoft.com /en-us/library/system.windows.forms.control.aspx Il peut contenir tout ce dont vous avez besoin. –