Système.De Windows.MessageBox vs Système.De Windows.Les formulaires.MessageBox
J'ai de la difficulté à trouver quelles sont les principales différences entre les deux boîtes de message. Quelle est la différence entre System.Windows.MessageBox
et System.Windows.Forms.MessageBox
?
- Vous mentionnez deux fois, dans les commentaires, qu'une boîte de message "casse de vos fixations" pouvez-vous préciser, ou avez-vous, comme l'a suggéré, a commencé une autre question sur ce sujet?
InformationsquelleAutor MisterXero | 2011-01-11
Vous devez vous connecter pour publier un commentaire.
System.Windows.MessageBox
a été ajouté avec WPF, et il existe au sein de la WPF assemblées (PresentationFramework.dll).System.Windows.Forms.MessageBox
a été ajouté avec Windows Forms, et il existe dans les Windows Forms assemblées.Si votre programme est une des Formes de Windows programme, je voudrais utiliser ce dernier (
System.Windows.Forms.MessageBox
), comme elle ne tirez pas dans une dépendance sur WPF. D'autre part, si vous êtes en développement pour WPF, j'utiliseraisSystem.Windows.MessageBox
.Un autre point est à noter:
Si vous souhaitez afficher une boîte de message dans une application qui n'est ni une application windows forms ou une application de formulaires (comme un .NET application console), vous ne devriez pas glisser dans l'assemblage de références, soit, comme cela semble être le commun mantra de tous sur internet.
Au lieu de cela, vous devez utiliser pinvoke et de les appeler dans User32 comme suit:
Tous deux fini par appeler le faible niveau de l'API windows pour autant que je sais...
UnsafeNativeMethods
classe dans les différents espaces de noms à faire la même chose, bien que le WPF mise en œuvre est plus élégant.La fois fondamentalement faire la même chose, sauf
system.windows.messagebox
est WPF etsystem.windows.forms.messagebox
est Windows Forms. Si vous êtes en utilisant WPF utiliser l'ancien, pour WinForms utiliser celui-ci.