我需要更改消息框的位置。我不希望它位于页面的中心。
MessageBox.Show("Hello");
您将需要创建一个新的窗体,该窗体继承自MessageBox窗体。这是访问头寸属性的唯一方法。
有一种更改位置的方法,但是对于这么小的任务,它的方法太复杂了。如果确实需要更改其位置,则可以显示它,然后使用GetForegroundWindow
获取窗口句柄,然后使用MoveWindow
到所需的位置。但是,正如我已经提到的那样,这太复杂了。只需创建带有标签的“表单”按钮即可。将按钮设置为默认窗口按钮,然后在Form1中执行MyWndName.ShowDialog();
您可以创建一个新窗口,将属性AllowsTransparency设置为true,并将Background设置为Transparent。在该窗口中,您可以放置TextBlock或标签,还可以添加“是/否”按钮。使用Canvs.SetTop(Window,TopPosition)和Canvas.SetLeft(Window,LeftPosition)设置此窗口的位置。接下来,使用Show()或ShowDialog()方法调用该窗口。
由于我已经在项目中使用AutoIt来完成其他几个任务,所以我只创建了另一个线程来移动消息框
using System.Threading;
using AutoIt;
//Namespace, class, function stuffs
//New thread BEFORE create message box - safety measure
Thread autoItThread = new Thread(delegate ()
{
AutoItX.WinWait("New Message box");
AutoItX.WinMove("New Message box", "This box will be moved", 400, 300);
});
autoItThread.Start();
MessageBox.Show("This box will be moved", "New Message box");
请注意
400,300
是绝对的。 0,0
将在左上角。