如何从usercontrol显示新表单?

时间:2012-02-11 05:47:47

标签: c# winforms user-controls initialization messagebox

我正在创建一个usercontrol,它是一个文件管理器(剪切,复制,粘贴......等)
所以在移动/处理文件时..我必须在文件已经存在时显示一个消息框..让用户确认覆盖它或取消..但我需要4个按钮

  • [是] < / li>
  • [是的全部]
  • [NO]
  • [取消]

    所以我制作了一个名为“MyMessageBox”的新表格,其中包含4个按钮和一个标签 我的问题是..在(userControl1.cs)我无法像这样初始化

    MyMessageBox msgbox = new MyMessageBox("overwrite file ?");
    
  • 1 个答案:

    答案 0 :(得分:0)

    首先,您需要确保您的usercontrol可以看到您创建的表单(例如,如果您的表单位于另一个名称空间或项目中,您将需要使用using语句或添加项目引用以便您的usercontrol能够使用它。)并且你的构造函数就像M.Babcock所暗示的那样。你可以试试这样的东西

    用户控件:

    public partial class UserControl1 : UserControl
    {
        MyMessageBox msgbox; 
        public UserControl1()
        {
            InitializeComponent();
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
            msgbox  = new MyMessageBox("Overwrite File ?");
            msgbox.ShowDialog();
        }
    }
    

    CustomMessageBox:

    public partial class MyMessageBox : Form
    {
        public MyMessageBox( string Message)
        {
            InitializeComponent();
            label1.Text = Message;
        }
    
    }
    

    哪个会给你这样的结果。

    enter image description here