gpt4 book ai didi

c# - WinForms:是否有将标签与文本框相关联的概念?

转载 作者:IT王子 更新时间:2023-10-29 04:42:28 26 4
gpt4 key购买 nike

我正在使用带有 C# 的 Visual Studio 2010。 Windows 窗体开发中是否存在以某种方式将标签与文本框链接的概念?让他们作为一个整体一起移动的东西?在 ASP.NET 世界中,有标签控件的 AssociatedControlId 属性。我还想我记得 MS Access 表单设计器有一些方法可以将标签与控件相关联(或链接)。这个功能甚至存在于 Visual Studio 世界中吗?

如果不是,您如何使用控件对标签进行分组,以便在移动文本框时不必手动移动标签?

最佳答案

似乎没有内置的。不过,您可以推出自己的 Field 类。下面是一个完整的例子。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace FieldClassTest
{
class Field : FlowLayoutPanel
{
public Label label;
public TextBox text_box;

public Field(string label_text)
: base()
{
AutoSize = true;

label = new Label();
label.Text = label_text;
label.AutoSize = true;
label.Anchor = AnchorStyles.Left;
label.TextAlign = ContentAlignment.MiddleLeft;

Controls.Add(label);

text_box = new TextBox();

Controls.Add(text_box);
}
}

static class Program
{
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

var form = new Form();

var panel = new FlowLayoutPanel();
panel.FlowDirection = FlowDirection.TopDown;
panel.Dock = DockStyle.Fill;

var first_name = new Field("First Name");
panel.Controls.Add(first_name);

var last_name = new Field("Last Name");
panel.Controls.Add(last_name);

form.Controls.Add(panel);

Application.Run(form);
}
}
}

下面是示例程序在我的系统上的样子:

enter image description here

关于c# - WinForms:是否有将标签与文本框相关联的概念?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4730807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com