当前位置: 首页 > 知识库问答 >
问题:

WinForms:用C#添加控件

苏季同
2023-03-14

我是C#新手,我确实知道如何动态添加控件,但我不知道如何将那个控件设置为this.[control_name]。请注意,这里的this表单

这可以通过private system.windows.forms.[Control_type][control-name];静态地完成,但如何从方法中完成这一操作,以便以后可以声明This.[control-name]=[variable]

请注意,variable类似于new TextBox()

共有1个答案

慕学海
2023-03-14
var txt = new TextBox();  //txt is the variable you are looking for
Form1.Controls.Add(txt); //added it to the form

现在您可以通过txt访问它:

txt.Location = new Point(0,0);
txt.Visible = true;

如果您在方法内部创建了控件(如您在注释中提到的),您可以返回并使用它,如下所示:

public TextBox AddTextBox()
{
    var txt = new TextBox();  
    Form1.Controls.Add(txt); 
    return txt;
}

var newTxt = AddTextBox();
newTxt.Location = new Point(0,0);
newTxt.Visible = true;
 类似资料:
  • 问题内容: 有谁知道是否有一种方法来获取具有ErrorProvider图标处于活动状态的控件的列表。即。验证失败的任何控件。我试图避免循环窗体中的所有控件。 我想显示某种消息,指示表单上有多少错误。由于我的表单包含选项卡,因此我试图使用户知道不活动的选项卡上可能存在错误,因此他们需要检查所有选项卡。 谢谢 巴里 问题答案: 这属于“你怎么 不 知道” 类别。是您的代码正在调用ErrorProvid

  • 问题内容: 我可以将Java控件(SWT,Swing等)放在C#控件上吗? 我知道Web控件是可能的,但我不喜欢这种方式。 问题答案: 我重新检查了一下,看来IKVM当前在其AFT组件中没有足够的支持。我认为,执行所需操作的唯一方法是在具有隐藏主窗口的单独进程中运行java控件,并以某种方式将该控件的句柄传递给C#应用程序。 原始答案: 我不确定是否可以“添加”它,但是可以尝试以下方法: 有必要通

  • 通过向地图添加控件的方式,实现对图层的放大,缩小,图层切换等交互操作,常用的控件包括: 控件 类名 简介 鹰眼图 ol.control.OverviewMap 默认位于地图右下角 缩放 ol.control.Zoom 默认位于地图左上角 比例尺 ol.control.ScaleLine 默认位于地图左下角 图层切换 ol.control.LayerSwitcher 默认位于地图右上角 版权 ol.

  • 在模板中加入以下代码: <form class="js-ajax-form" role="form" method="post" action="{:U('api/guestbook/addmsg')}"> <label>姓名</label> <input type="text" class="span3" placeholder="Your name" name="full_na

  • 问题内容: 因此,我正在使用C#开发一个应用程序以从Web读取一些信息,但这是一个Windows窗体应用程序。我得到一个JSON字符串,我需要从中获取一些信息。我知道有一个用于C#Web应用程序的库,但是如何在Windows窗体应用程序中使用呢? 问题答案: 那里有许多JSON库。您可以考虑以下三个建议: Json.NET ,一个相当流行的JSON(反序列化)库。 ****根据 ServiceSt

  • 我正在开发一个使用WPF和WinForms作为UI的遗留应用程序。WPF弥补了绝大多数,但是应用程序的主对话框仍然在WinForms中。 到目前为止,我已经能够让它们很好地协同工作(多亏了System.windows.forms.integration.elementhost),但我无法让WPF窗口以它们的WinForms父窗口为中心。 OwnershipHelper(摘自https://stac