c# winform listview 动态生成 平铺效果 为listview中每个项添加事件
为listview中的每个想添加双击事件,双击不同的项show不同的窗体出来能拿到tag的值假如我的tag值就是我想new的窗体类是一样的怎么写呀委托懂一点...
为 listview 中的每个想添加双击事件 , 双击不同的项 show 不同的窗体出来
能拿到tag的值 假如我的tag值 就是我想new的窗体类是一样的 怎么写呀
委托懂一点 展开
能拿到tag的值 假如我的tag值 就是我想new的窗体类是一样的 怎么写呀
委托懂一点 展开
3个回答
展开全部
窗口类在打包好的dll里不激脊旅知道会不会比较麻烦...
tag是object,所以,向listview添加项目时,tag设置明凳为你的窗口实例,如:
Tag = new DocumentForm();
点击事野拆件中.
(tag as Form).Show();
这是很次的方法,希望其他人有更好的方法.
tag是object,所以,向listview添加项目时,tag设置明凳为你的窗口实例,如:
Tag = new DocumentForm();
点击事野拆件中.
(tag as Form).Show();
这是很次的方法,希望其他人有更好的方法.
追问
我的form 是dll类库封装好的 动态添加到工程里的 你的方法显然不行
追答
[dll类库封装好的 动态添加到工程里的]
不是很理解额.假如不需要这么麻烦,只需要new dll中某个窗体的话可以做到吧?我的方法只是给个思路,不知道能不能变通.
如果直接在引用中添加这个DLL是否能直接获取dll中的窗体类呢?
参考资料中有[根据类名获取该类对象]的方法,你可以看看用不用得上.
参考资料: http://blog.csdn.net/lxl_sports/archive/2009/08/21/4470262.aspx
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面这段代宏做让码写的是dataGridView,不过原理差不多,你看不懂的话我给你更蔽局详细的
///读取数据
CommonClass cc = new CommonClass();
//当前胡裤行数 索引
int index = e.RowIndex;
Product p = getProduct(index);
Son son = new Son(this, p, index);
son.ShowDialog();
public Product getProduct(int index)
{
if (index != 0)
{
dataGridView1.Rows[index - 1].Selected = false;
}
if (index != max - 1)
{
dataGridView1.Rows[index + 1].Selected = false;
}
dataGridView1.Rows[index].Selected = true;
CommonClass cc = new CommonClass();
return cc.getProduct(Convert.ToInt32(this.dataGridView1.Rows[index].Cells[0].Value));
}
///读取数据
CommonClass cc = new CommonClass();
//当前胡裤行数 索引
int index = e.RowIndex;
Product p = getProduct(index);
Son son = new Son(this, p, index);
son.ShowDialog();
public Product getProduct(int index)
{
if (index != 0)
{
dataGridView1.Rows[index - 1].Selected = false;
}
if (index != max - 1)
{
dataGridView1.Rows[index + 1].Selected = false;
}
dataGridView1.Rows[index].Selected = true;
CommonClass cc = new CommonClass();
return cc.getProduct(Convert.ToInt32(this.dataGridView1.Rows[index].Cells[0].Value));
}
追问
我 new的窗体 全部都是从dll类库中封装好的窗体 动态的根据 listview中的值 去动态的new对应的窗体 图为 listview
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-20
展开全部
lChanged
加载委托:
dgvExp.CurrentCellChanged += dgvExp_CurrentCellChanged;
可以处理:
string ctCell=
"行"+dgvExp.CurrentCell.RowIndex.ToString() + "|列:" + dgvExp.CurrentCell.ColumnIndex.ToString();
这个例子是dgv的,lv你看一下有没有这种方法.
SelectedIndexChanged 一般用作行变哗袭更.
注:
加载数据源时,cell值会刷新,此时如果已经绑定委托会报错.
需要:
private void fillDGV()
{
--解除委托
dgvExp.CurrentCellChanged -= dgvExp_CurrentCellChanged;
//加载数据
...
//加晌芦渗载宴脊委托
dgvExp.CurrentCellChanged += dgvExp_CurrentCellChanged;
}
另外,虚机团上产品团购,超级便宜
加载委托:
dgvExp.CurrentCellChanged += dgvExp_CurrentCellChanged;
可以处理:
string ctCell=
"行"+dgvExp.CurrentCell.RowIndex.ToString() + "|列:" + dgvExp.CurrentCell.ColumnIndex.ToString();
这个例子是dgv的,lv你看一下有没有这种方法.
SelectedIndexChanged 一般用作行变哗袭更.
注:
加载数据源时,cell值会刷新,此时如果已经绑定委托会报错.
需要:
private void fillDGV()
{
--解除委托
dgvExp.CurrentCellChanged -= dgvExp_CurrentCellChanged;
//加载数据
...
//加晌芦渗载宴脊委托
dgvExp.CurrentCellChanged += dgvExp_CurrentCellChanged;
}
另外,虚机团上产品团购,超级便宜
追问
能得到 对应的tag值 假如我拿到得tag字符串 和 我想new的窗体类的名字一样 下面怎么写
委托不怎么太明白 只是有一点明白
不知道 怎么 new 动态加载的dll窗体
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询