【问题标题】:.net Custom MessageBox text is highlighted.net 自定义 MessageBox 文本突出显示
【发布时间】:2012-01-30 00:05:38
【问题描述】:

为什么?

我在 C# 中构建了一个简单的自定义 MessageBox 作为对话框。当我通过 Show() 显示消息框时,消息文本未突出显示。当我显示这个消息框 vi ShowDialog() 时,文本 突出显示。

我不希望我的文字被突出显示。有什么想法或想法吗?

public partial class MyMessageBox : Form
    {
        private String mCaption;
        private String mMessage;


        public MyMessageBox( Form anOwner, String aCaption, String aMessage )
        {
            InitializeComponent();

            mCaption = aCaption;
            Owner = anOwner;
            mMessage = aMessage;
        }


        private void btnCancelRequest_Click( object sender, EventArgs e )
        {
            ( (AddressForm)Owner ).RequestCancelled();
        }


        private void btnOk_Click( object sender, EventArgs e )
        {
            CloseDialog();
        }


        public void CloseDialog()
        {
            Close();
        }


        // Called from the Address Form
        public void HideCancelRequestButton()
        {
            btnCancelRequest.Visible = false;
        }


        private void MyMessageBox_Activated( object sender, EventArgs e )
        {
            Text = mCaption;
            txtMessage.Text = mMessage;
        }
    }

【问题讨论】:

  • 我猜你的消息显示在一个名为 txtMessage 的 TextBox 控件中。为什么不用标签替换它?

标签: c# .net winforms dialog messagebox


【解决方案1】:

虽然我不明白为什么会突出显示文本,但您可以通过明确指定文本框选择长度来避免这种情况:

txtMessage.SelectionLength = 0;

尽管正如 Jeremy 评论的那样,这可能是对标签的更好使用,除非您实际上期待用户输入。

【讨论】:

  • 是的,这完美地回答了我的问题。但是,正如 Jeremy 和 M. Babcock 所提到的,我将从文本框切换到标签。谢谢先生们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2012-04-17
  • 2013-08-07
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
相关资源
最近更新 更多