winform问题 我想实现一个比ListBox效果更高一点的效果,就是在这个ListBox绑定值以后,一般是显示这个值,我想在这个显示值的后面再加上两个单选按钮,可选择,要得到这个状态,各位大侠有没有做过这方面的东西呀,在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以在他的DataSourceChanged事件编写这些动作啊, 是给这一项加值?问题是listbox只是显示字符串吧,listview貌似也没这个功能,在事件里面写什么? 那你不如换个思路,用DataGridView来实现,控件外观可以做得很相似,去掉网格线,去掉行头和列头,然后再加一个CheckBox的列或者RadioBox的列就可以了,而且选中不选中状态的值也可以获得 private void Form1_Load(object sender, EventArgs e) { //测试数据源,可以用你数据库的记录替换掉 DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("name", typeof(string)); for (int i = 1; i < 4; i++) { DataRow dr = dt.NewRow(); dr["id"] = i; dr["name"] = "第" + i + "个元素"; dt.Rows.Add(dr); } for (int i = 0; i < dt.Rows.Count; i++) { //将文字和按钮布局化,美化工作自己去完成 TableLayoutPanel tlp = new TableLayoutPanel(); tlp.ColumnCount = 2; tlp.RowCount = 1; tlp.Width = flowLayoutPanel1.Width; tlp.Height = 30; tlp.BackColor = Color.Red; Label lblName = new Label(); lblName.Text = dt.Rows[i]["name"].ToString(); lblName.Name = dt.Rows[i]["id"].ToString(); Button bt = new Button(); bt.Text = "选择"; bt.Name = lblName.Name; bt.Width = 60; bt.Click += new EventHandler(bt_Click); tlp.Controls.Add(lblName); tlp.Controls.Add(bt); flowLayoutPanel1.Controls.Add(tlp); } flowLayoutPanel1.AutoScroll = true; } void bt_Click(object sender, EventArgs e) { Button bt = (Button)sender; MessageBox.Show("你选择的元素是" + bt.Name); }美化工作自己去完成,Form上面扔一个flowLayoutPanel就行了,这个实例仅供参考,自行扩展! 问下invoke的使用 发生异常: Invalid URI: The URI is empty. 应用程序,局域网内图片访问的问题 正则表达式一问 c# oracle 目前流行.net2005还是.net2008? 如何把二维数组的一行作为参数传入一个函数? 想请教各位高手串口接收超时怎么写 怎样将String 转换成 Int, c#的打开word问题。到底怎么打开。请高手给我指点。(别给我新建word的例子,谢谢)。高手快点~~~~~~~ 求助了,各位前辈们 注册与更新
private void Form1_Load(object sender, EventArgs e)
{
//测试数据源,可以用你数据库的记录替换掉
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string)); for (int i = 1; i < 4; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = i;
dr["name"] = "第" + i + "个元素";
dt.Rows.Add(dr);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
//将文字和按钮布局化,美化工作自己去完成
TableLayoutPanel tlp = new TableLayoutPanel();
tlp.ColumnCount = 2;
tlp.RowCount = 1;
tlp.Width = flowLayoutPanel1.Width;
tlp.Height = 30;
tlp.BackColor = Color.Red; Label lblName = new Label();
lblName.Text = dt.Rows[i]["name"].ToString();
lblName.Name = dt.Rows[i]["id"].ToString(); Button bt = new Button();
bt.Text = "选择";
bt.Name = lblName.Name;
bt.Width = 60;
bt.Click += new EventHandler(bt_Click); tlp.Controls.Add(lblName);
tlp.Controls.Add(bt);
flowLayoutPanel1.Controls.Add(tlp);
}
flowLayoutPanel1.AutoScroll = true;
} void bt_Click(object sender, EventArgs e)
{
Button bt = (Button)sender;
MessageBox.Show("你选择的元素是" + bt.Name);
}
美化工作自己去完成,Form上面扔一个flowLayoutPanel就行了,这个实例仅供参考,自行扩展!