CheckBox.Text=X.复选框文本保持空白C#
本文关键字:空白 文本 复选框 Text CheckBox | 更新日期: 2023-09-27 18:28:00
我解析了一个xml文档,得到了我需要的2个字符串(y和z)
它们工作得很好。但是当我将字符串z添加到复选框文本中时。。文本保持空白,我得到的只是一个没有单词的复选框。
List<string> extens = new List<string> { };
String xmlPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "/ExtraEx.xml";
public Exten()
{
InitializeComponent();
}
private void Exten_Load(object sender, EventArgs e)
{
if (File.Exists(xmlPath))
{
XmlDocument xml = new XmlDocument();
xml.Load(xmlPath);
XmlNodeList xnList = xml.SelectNodes("/Extras/Add");
foreach (XmlNode xn in xnList)
{
string y = xn["checked"].InnerText;
string z = xn["Exten"].InnerText;
//Shows The String Value!
MessageBox.Show(z);
CheckBox cb = new CheckBox();
//cb.Text Still Stays Blank?
cb.Text = z;
fLayout.Controls.Add(cb);
}
}
else
{
MessageBox.Show("XML File Does not Exist!");
}
}
试试这个
cb.Text = "fixed value";
如果文本仍然没有显示,请确保复选框设置为可见并且适合窗体/窗口大小的
如果显示文本,则是与如何从文件中读取z有关的问题那你可以试试这个cb.Text = y;
如果显示了文本,则确保节点Exten不存在或包含显示所需的值
如果以上所有操作都失败,请致电
this.Refresh() ;
我的Xml文件是这样设置的。
由于扩展名旁边的选项卡,我的程序将字符串取为"空白.mp3".
<?xml version="1.0" encoding="utf-8" ?>
<Extras>
<Add>
<Exten>
.mp3
</Exten>
<checked>
True
</checked>
</Add>
<Add>
<Exten>
.xls
</Exten>
<checked>
False
</checked>
</Add>
</Extras>
我在程序中添加了一些额外的代码来修复这个问题。
string y = xn["checked"].InnerText;
string z = xn["Exten"].InnerText;
y = Regex.Replace(y, @"'s+", "");
z = Regex.Replace(z, @"'s+", "");
这去掉了扩展名周围的空白,将字符串保留为".mp3"。
我从应用程序中获取了这段代码,效果很好!
更新!你试过下面的吗
this.Refresh() //on the form you are adding controls to?!
CheckBox[] chk;
chk = new CheckBox[10];
for (int i = 0; i <= 9; i++)
{
chk[i] = new CheckBox();
chk[i].Name = i.ToString();
chk[i].Text = i.ToString();
chk[i].TabIndex = i;
chk[i].AutoCheck=true;
panel1.Controls.Add(chk[i]);
}