使用标签与使用文本框
Using a Label vs using a Textbox
我有一个 C# 应用程序,我在其中使用与微控制器的串行通信来显示应用程序上的数据。我使用了一个文本框来显示数据:
public void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
try
{
DataRec = serialPort1.ReadExisting();
int.TryParse(DataRec, out myTotal);
this.BeginInvoke(new EventHandler(DisplayText));
}
catch(NullReferenceException)
{
//catching the exception
}
}
public void DisplayText(object sender, EventArgs e)
{
textBox2.Text = myTotal.ToString();
}
我还尝试使用标签代替文本框。我得到了相同的结果,但我没有看到性能有任何变化。我使用标签是因为我不想让用户认为他们可以编辑文本框中的值。
我试过寻找其中一个相对于另一个的优势。到目前为止,我看到的是:
- 文本框需要设置为只读,而在标签中则不需要这样做。
- 即使我将文本框设置为只读,光标仍然可见,而在标签中则不是。
使用标签或文本框时,在性能方面有哪些优缺点?
我可以使用标签吗?
两者各有利弊。
标签
专业人士:
- 文本不可复制
- 光标不变
- 根据文本设置大小(如果自动调整大小打开,我认为它默认打开)
- 文本右对齐选项(自动调整关闭)
缺点:
- 文字不selectable/copy
- 使用自动调整大小
,文本可能会超出 form/parent
文本框
专业人士:
- 文字可复制
- 固定大小(也是一个缺点)
缺点:
- 不自动调整大小
- 高度不可调整(不适用于富文本框/
multiline = true
)
我的看法:
在我看来,如果用户不应该能够复制数据,你应该使用标签。例外情况是,如果您只有 1 个不可编辑的值,而所有其他值都是文本框的,那么您应该只制作一个只读文本框。
您已经回答了自己的问题。在我看来,标签在这种情况下更合适。稍后您可能会争辩说您可能需要文本框提供的额外功能,但您应该考虑 YAGNI 原则。
至于优缺点,用户可能会认为他们能够编辑文本框中的值,他们不会在使用标签时犯这样的错误。
我有一个 C# 应用程序,我在其中使用与微控制器的串行通信来显示应用程序上的数据。我使用了一个文本框来显示数据:
public void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
try
{
DataRec = serialPort1.ReadExisting();
int.TryParse(DataRec, out myTotal);
this.BeginInvoke(new EventHandler(DisplayText));
}
catch(NullReferenceException)
{
//catching the exception
}
}
public void DisplayText(object sender, EventArgs e)
{
textBox2.Text = myTotal.ToString();
}
我还尝试使用标签代替文本框。我得到了相同的结果,但我没有看到性能有任何变化。我使用标签是因为我不想让用户认为他们可以编辑文本框中的值。
我试过寻找其中一个相对于另一个的优势。到目前为止,我看到的是:
- 文本框需要设置为只读,而在标签中则不需要这样做。
- 即使我将文本框设置为只读,光标仍然可见,而在标签中则不是。
使用标签或文本框时,在性能方面有哪些优缺点?
我可以使用标签吗?
两者各有利弊。
标签
专业人士:
- 文本不可复制
- 光标不变
- 根据文本设置大小(如果自动调整大小打开,我认为它默认打开)
- 文本右对齐选项(自动调整关闭)
缺点:
- 文字不selectable/copy
- 使用自动调整大小 ,文本可能会超出 form/parent
文本框
专业人士:
- 文字可复制
- 固定大小(也是一个缺点)
缺点:
- 不自动调整大小
- 高度不可调整(不适用于富文本框/
multiline = true
)
我的看法:
在我看来,如果用户不应该能够复制数据,你应该使用标签。例外情况是,如果您只有 1 个不可编辑的值,而所有其他值都是文本框的,那么您应该只制作一个只读文本框。
您已经回答了自己的问题。在我看来,标签在这种情况下更合适。稍后您可能会争辩说您可能需要文本框提供的额外功能,但您应该考虑 YAGNI 原则。
至于优缺点,用户可能会认为他们能够编辑文本框中的值,他们不会在使用标签时犯这样的错误。