C# c语言中的自定义对话框控件#

C# c语言中的自定义对话框控件#,c#,dialog,controls,C#,Dialog,Controls,我有一个问题,我希望你们中的一些人能够回答,我还没有找到任何方法在谷歌或这里做到这一点 我想要的是: -一个像输入框一样工作的自定义控件。(但它必须是可以添加到窗体的winform控件,而不是窗体。) -它必须能够从文本框中获取值,并将其发送到调用它的函数中的父级 我想这样称呼它: string str = MyBox.GetString("control title"); 有人能帮忙吗 我不知道这件事在c#中是否可能发生。我想不出来,但如果有人能回答,请回答 如果希望框驻留在表单上,可以使用

我有一个问题,我希望你们中的一些人能够回答,我还没有找到任何方法在谷歌或这里做到这一点

我想要的是: -一个像输入框一样工作的自定义控件。(但它必须是可以添加到窗体的winform控件,而不是窗体。) -它必须能够从文本框中获取值,并将其发送到调用它的函数中的父级

我想这样称呼它:

string str = MyBox.GetString("control title");
有人能帮忙吗


我不知道这件事在c#中是否可能发生。我想不出来,但如果有人能回答,请回答

如果希望框驻留在表单上,可以使用常规文本框获取inut。也许将其关闭在一个分组框中以给出一个“标题”,添加一个描述标签


最后,也是最重要的,在GroupBox中添加一个“更新”按钮。在该按钮的单击处理程序中,您可以使用
string str=textbox.Text检索文本框的值

public partial class MyBox : Form
{
    public MyBox()
    {
        InitializeComponent();
    }

    public string ResultText { get; set; }

    public static string GetString(string title)
    {
        var box = new MyBox {Text = title};

        if (box.ShowDialog() == DialogResult.OK)
        {
            return box.ResultText;
        }

        return string.Empty;
    }

    private void okButton_Click(object sender, EventArgs e)
    {
        this.ResultText = txtUserInput.Text;
        this.DialogResult = DialogResult.OK;
    }
}
其中MyBox是一个带有文本框-
txtUserInput
和链接到
ok按钮的OK按钮的表单,单击
事件

您还可以通过以下其他形式拨打电话:

string userInput = MyBox.GetString("Title for MyBox");

你说的“输入框”到底是什么意思?你喜欢文本框还是别的什么?编辑:对不起,我现在意识到你指的是一个带有标签、文本框、标题和“确定”和“取消”按钮的简单对话框。你为什么认为它应该这样工作。为什么不想使用对特定文本框的引用并访问
text
属性?不,它必须是控件,而不是表单。它必须等待输入。或者可以等到按下按钮,因为函数只调用一次。