什么是等效的JDialog的WinForms(Windows窗体)

本文关键字:Windows 窗体 WinForms JDialog 什么 | 更新日期: 2023-09-27 18:07:07

我尝试使用WinForms构建一个应用程序,我需要像JDialog框架一样的东西来插入几个textbox (Java中的JTextField)以及两个按钮(OK和Cancel),但我还没有找到任何合适的Windows窗体。任何建议吗?

什么是等效的JDialog的WinForms(Windows窗体)

c#中没有提示对话框。您可以创建一个自定义提示框来代替。

  public static class Prompt
    {
        public static int ShowDialog(string text, string caption)
        {
            Form prompt = new Form();
            prompt.Width = 500;
            prompt.Height = 100;
            prompt.Text = caption;
            Label textLabel = new Label() { Left = 50, Top=20, Text=text };
            NumericUpDown inputBox = new NumericUpDown () { Left = 50, Top=50, Width=400 };
            Button confirmation = new Button() { Text = "Ok", Left=350, Width=100, Top=70 };
            confirmation.Click += (sender, e) => { prompt.Close(); };
            prompt.Controls.Add(confirmation);
            prompt.Controls.Add(textLabel);
            prompt.Controls.Add(inputBox);
            prompt.ShowDialog();
            return (int)inputBox.Value;
        }
    }

然后使用:

int promptValue = Prompt.ShowDialog("Test", "123");

I got this from here

或者这样写:

using( MyDialog dialog = new MyDialog() )
{
    DialogResult result = dialog.ShowDialog();
    switch (result)
    {
    // put in how you want the various results to be handled
    // if ok, then something like var x = dialog.MyX;
    }
}