c# 如何在按钮点击时显示值框

15 浏览
0 Comments

c# 如何在按钮点击时显示值框

想了解一下在C#窗体应用程序(Visual Studio)中是否可以显示一个弹出框,用户可以在其中输入一个值并在应用程序中使用它。可能已经有关于此的指南,然而我找不到,因为我很可能不知道正确的术语。

基本上,我需要一个弹出框,在其中输入一个数字,并在其他地方使用该数字。

"""

事件:

点击按钮 --> 打开弹出框 --> 输入值 --> 确定 --> 在其他地方使用该值。

"""

不确定是否可能,或者是否需要使用新的窗体页面。

谢谢你的回答。

0
0 Comments

问题的原因:

问题的原因是需要在按钮点击时显示一个值框(value box),即在点击按钮后弹出一个窗口显示某个值。

解决方法:

1. 使用TaskDialog API,它类似于MessageBox,但可以添加组件。可以参考这个示例

2. 创建自己的窗体,这样可以有更多的可能性和更少的代码。在自己的窗体中添加一个公共属性,然后使用ShowDialog函数调用窗体,并在结束时获取该值。

   using(FormDialog fr= new FormDialog())
   {
       if(fr.ShowDialog()==System.Windows.Forms.DialogResult.OK)
       {
           //获取属性值
       }
   }
   

3. 在自己的窗体(FormDialog)中,应该使用`this.DialogResult=System.Windows.Forms.DialogResult.OK;`而不是使用this.Close()或this.Dispose()。

4. 可以使用事件来管理是否使用Enter键进行验证,例如:

   private void FormDialog_KeyDown(object sender, KeyEventArgs e)
   {
       if (e.KeyCode==Keys.Enter)
       {
           //设置属性值
           this.DialogResult=System.Windows.Forms.DialogResult.OK;
       }
   }
   

通过上述解决方法,可以在按钮点击时显示一个值框,并获取相应的值。

0
0 Comments

问题出现的原因是,当点击按钮时,希望在一个窗体上显示一个值框,但是无法实现。

解决方法是,创建一个继承自Form的表单(MyForm),并在输入时公开所需的数据(FirstName,LastName)。当点击按钮时,该表单将显示出来。

以下是解决问题的代码示例:

public void eventClick(....)
{
    MyForm f = new MyForm();
    f.Closed += ClosedHandler;
    f.Show();
}

在MyForm中,您可以输入数据并将其填充到MyForm的公共变量中。因为您的主窗体订阅了Closing事件,所以它会触发一个事件处理程序,并从中获取数据。

以下是处理关闭事件的代码示例:

public void ClosedHandler(....)
{
    MyForm f = sender as MyForm;
    if(f != null)
    {
        Person p = new Person()
        {
            FirstName = f.FirstName;
            LastName = f.LastName;
        };
    }
}

通过这种方法,当点击按钮时,将会显示一个值框,并且可以从该值框中获取输入的数据。

0