如果移动错误消息,如何移动Form2的窗口?

时间:2015-10-12 09:44:18

标签: c#

我有一条错误消息:

if (checkedListBox2.CheckedItems.Count == 0) {
    MessageBox.Show("You have not selected any instrument");
    //Location = this.Form2_Load();
    return;
}

如何让它出现在Form2窗口中,如果我移动Form2窗口来移动错误信息呢?

1 个答案:

答案 0 :(得分:0)

MessageBox是另一个窗口,也是模态,即在显示时根本不能使用父窗口。此外,您没有获得MessageBox窗口的实例;它只是一个静态方法,显示它并返回结果,一直阻塞。

因此,如果您想让它随父窗口一起移动,您必须自己实现该功能。创建自己的MessageBox窗口,该窗口显示一条消息并具有父窗口。您可以收听父窗口的位置或大小更改以自行重新定位。

但是如果你走那条路,我会从UX的角度要求你不要只复制一个MessageBox。这种错误消息本质上是monolog box,并且用户有更好的模式。拥有透明的信息甚至可以解决在移动时必须在消息框中移动以保持在窗口内的问题。

我可能会在您的上下文中选择的一个选项是将错误信息内联到控件附近,您可以选择乐器并使用短动画或类似的东西来吸引用户的注意力并指导他们纠正他们的错误。