如何在C#中创建这些漂亮的消息/对话框(例如:http://i.msdn.microsoft.com/dynimg/IC123363.png)?
.NET Framework中是否有与MessageBox.Show类似的函数?
答案 0 :(得分:8)
这是一个TaskDialog。它由Windows API Code Pack包装在托管类中。还有许多其他Vista和Win7特定的好东西。
答案 1 :(得分:4)
我总是犹豫提供代码项目链接,但我认为您正在尝试制作TaskDialog
。还有一个声称提供WinForms TaskDialog的project on code.msdn.microsoft.com。 TaskDialog的更可靠来源是Windows API Code Pack。
如果您需要支持WindowsXP或更旧的操作系统,请务必提供备用消息框,任务对话框是Windows Vista中的新功能。
答案 2 :(得分:2)
看看http://code.msdn.microsoft.com/WindowsAPICodePack 我不确定它是否包含您需要的功能,但它具有名为“Windows Vista和Windows 7任务对话框”的功能,也许这是您正在寻找的功能。
答案 3 :(得分:-1)
您可以创建自己的消息窗口窗体,显示您想要的内容并使用窗体显示
显示MyMessageForm form = new MyMessageForm();
form.Show();
答案 4 :(得分:-1)
尝试使用任务对话框。它几乎与MessageBox类似。也许你会喜欢它。您只需要将windowsAPIcode Pack添加到您的参考中,然后按照我给出的链接上的说明进行操作。
这个网站会有很大的帮助。 http://www.developerfusion.com/article/71793/windows-7-task-dialogs/以下是一个示例:试一试!
// Get reference to the dialog type.
var dialogTypeName = "System.Windows.Forms.PropertyGridInternal.GridErrorDlg";
var dialogType = typeof(Form).Assembly.GetType(dialogTypeName);
// Create dialog instance.
var dialog = (Form)Activator.CreateInstance(dialogType, new PropertyGrid());
// Populate relevant properties on the dialog instance.
dialog.Text = "Data Patch";
dialogType.GetProperty("Details").SetValue(dialog, "Sample Text", null);
dialogType.GetProperty("Message").SetValue(dialog, "Sample Text", null);
// Display dialog.
var result = dialog.ShowDialog();
请原谅我@MegaTron的不完整答案。我已经修改过了。我希望这个答案也有帮助
答案 5 :(得分:-2)
DevExpress是一个成熟的第三方Windows窗体提供商,如果您有兴趣,值得一看。