【问题标题】:How can I make a custom .Net Windows Form that acts like a MessageBox?如何制作像 MessageBox 一样的自定义 .Net Windows 窗体?
【发布时间】:2013-02-15 18:06:52
【问题描述】:

如何制作一个行为类似于消息框的表单?

例如,我有两个名为 form1form2 的表单。

  • form1 包含我的基本信息(姓名、性别、地址和 1 个按钮(教育背景))。
  • form2 包含我的教育背景(学校、school_add、按钮(确定)和按钮(取消))。

如果我打开form1 并单击教育背景按钮,则会出现form2。我想要的是,如果用户在form2 仍然打开时尝试单击form1,那么form2 将闪烁并且用户无法操作form1。我想要求用户在返回form1 之前单击form2 上的取消或确定按钮,就像消息框如何阻止您使用它后面的表单一样。

我该怎么做?

【问题讨论】:

  • 只需将第二个表单设置为最顶层,这意味着它会一直保持在最顶层,直到它被释放......您在表单属性中设置。

标签: vb.net visual-studio-2010 .net-4.0


【解决方案1】:

您要查找的内容称为 Modal 表单。

这很容易做到:只需调用.ShowDialog(Me) 而不是.Show()

【讨论】:

    【解决方案2】:
    ' Form1 button handler
    Private Sub buttonClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles button.Click
       Dim f As New Form2()
       f.ShowDialog(Me)
    End Sub
    

    另见http://msdn.microsoft.com/en-us/library/39wcs2dh(v=vs.100).aspx

    【讨论】:

      【解决方案3】:

      使用 .ShowDialog 而不是 .Show 加载表单

      Form2.ShowDialog
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多