C#Winapp:PictureBox隐藏了TextBox

时间:2013-07-10 21:23:11

标签: c# winforms textbox picturebox

我创造了一个射击游戏,但我遇到了问题。当玩家输了,我想向他展示一条消息。我尝试过MessageBox,但是它出现在屏幕的中央。我只想要一个在应用程序中心显示“你输了”的盒子。我在整个表单上都有PictureBoxes,当我显示TextBox时,它无法看到(只有部分)。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用标签和按钮创建自定义表单MessageForm(经典和win7屏幕截图):

enter image description here enter image description here

设置是(您可以在设计师中设置):

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;

表格类:

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");

答案 1 :(得分:1)

正如我在评论中所说,你可以使用

textboxName.BringToFront();
如果你想让消息框出现在中间,

将控件带到前面,

MessageBox.Show(this, "message");应该正常工作,因为我认为默认情况下消息框显示在父级中心

编辑只是查了一下(MessageBox居中),但似乎你可以通过挂钩来居中,但这看起来有点矫枉过正