我创造了一个射击游戏,但我有一个问题的结束。当球员输了的时候,我想向他展示一个信息。我试过MessageBox,但它出现在屏幕的中央。我只想要一个在应用程序中心写着“你输了”的方框。我的表单上到处都是PictureBoxes,当我显示TextBox时,它是看不见的(只有一部分)。
有什么想法吗?
发布于 2013-07-11 05:37:36
正如我在评论中所说的,您可以使用
textboxName.BringToFront();若要将控件放在前面,如果希望消息框出现在中间,
MessageBox.Show(this, "message");应该可以正常工作,因为我相信messageboxes在默认情况下会以父级为中心显示
编辑刚刚查了一下(MessageBox居中),但似乎你可以通过钩子将一个居中,但这似乎有点过分了
发布于 2013-07-11 05:52:20
您可以创建带有标签和按钮的自定义表单MessageForm (经典和win7屏幕截图):


设置为(可以在designer中设置):
FormBorderStyle = FormBorderStyle.FixedDialog;
ShowIcon = false;
MinimizeBox = false;
MaximizeBox = false;
StartPosition = FormStartPosition.CenterParent; // important!
btnOK.DialogResult = DialogResult.OK;
lblMessage.Autosize = false;
lblMessage.TextAlign = ContentAlignment.MiddleCenter;
lblMessage.BackColor = SystemColors.ControlLightLight;
lblMessage.Dock = DockStyle.Top;Form类:
public partial class MessageForm : Form
{
public MessageForm(string message)
{
InitializeComponent();
lblMessage.Text = message;
}
public static DialogResult Show(string message, string title = "")
{
var form = new MessageForm(message);
form.Text = title;
return form.ShowDialog();
}
}用法:
MessageForm.Show("You Lost");https://stackoverflow.com/questions/17581133
复制相似问题