【问题标题】:C# Array strings in a Group of Radio Buttons一组单选按钮中的 C# 数组字符串
【发布时间】:2016-11-10 03:10:58
【问题描述】:

我的代码是 C# windows form
我有一个包含数据的文件:

大卫一和二/三
亚历克斯一二四和五/六
阿曼达二七/十
迈克尔七/九

并尝试将它们放在数组中,例如

string[] Names = File.ReadAllLines("C:\Students\Name.txt", Encoding.Default);


并将它们放在单选按钮组中

RadioButton[] n = new RadioButton[Names.Length];

for (int i = 0; i < Names.Length; i++)
 {
   n[i] = new RadioButton();
   n[i].Text = Names[i];
   n[i].Location = new Point(10, 10 + i * 20);
   groupBox1.Controls.Add(n[i]);
 }

但它显示为我的附加图像
我试过没有 Encoding.Default 和 Encoding.UTF8 但同样的问题。
我做错了什么?请查看我的图像并帮助我。先感谢您!

【问题讨论】:

  • 听起来你在这里问了两个问题。你昨天不是已经问过那个人关于阅读文件的事情了吗?那个没了?我从未看到有关文件行尾格式的答案:lfcrlf?
  • @clarkitect 感谢您的快速响应。对不起,是的,这几乎是同一个问题,实际上我希望我的数组字符串放在单选按钮中。顺便问一下 lf 或 crlf 的含义是什么?你是什​​么意思?抱歉,我对那些简短的话很陌生.. ;)
  • lf 是“换行”的缩写,cr 是“回车”的缩写,这是“硬回车”的一个非常老式的名称。文件中终止文件每一“行”的字符。我们还没有真正看到您的示例中的实际文件,因为它被粘贴为纯文本而不是代码(或指向 pastebin 的链接或其他内容)。您看到的结果使文件的内容受到质疑。另一种可能性是单选按钮的标签以某种方式解释了 / 字符。

标签: c# radio-button file.readalllines


【解决方案1】:

我猜您的文件末尾包含空行。您可以尝试在创建单选按钮之前删除它们:

for (int i = 0; i < Names.Length; i++)
 {
   var name = Names[i];
   if(name.Trim() == string.Empty) continue;

   n[i] = new RadioButton();
   n[i].Text = Names[i];
   n[i].Location = new Point(10, 10 + i * 20);
   groupBox1.Controls.Add(n[i]);
 }

如果您的文本被修剪,您可以尝试增加控件的宽度:

n[i].Width = 300; // Put a value which will show the entire text

【讨论】:

  • 感谢您的回复,是的,您是对的,我的文件包含空行,现在已修复,但仍然存在同样的问题,我只能将每一行的部分显示为字符串,而不是孔线。我希望图像 1 不像图像 2。请帮助我...
  • 尝试增加控件的宽度
  • Mariusz Jamro,非常感谢,现在它按预期工作了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-19
  • 1970-01-01
  • 2013-02-25
  • 2017-05-09
相关资源
最近更新 更多