C# 通过控件的名字调用控件

jjjkkkason 2011-04-25 11:32:12
现在的情况是我通过一个函数得到了控件的名字
而要在 public void paste(DataGridView dgv)
此函数中调用相应名字的datagridview
但是datagridview的名字的类型是string
如何通过他的名字在paste中调用相应名字的datagridview
...全文
588 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
不啦草 2011-04-26
  • 打赏
  • 举报
回复
大哥 重点不是这句string name1=dgv.Name;//
是这句paste(datagridview);

你的意思就是传对象

public void paste(DataGridView dgv) 这是带参方法

你所要的 传 DataGridView 类型的参数
DataGridView dataGridView1=new DataGridView();//自己托控件,就不用写了
dataGridView1 就是DataGridView 控件的Name;
paste(dataGridView1); //就是传控件啊

public void paste(DataGridView dgv)
{
string name1=dgv.Name;//就可以直接调用控件属性和方法啦。 这只name1的值肯定是dataGridView1
}
静石 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
string controlname = "dataGridView1";
DataGridView dgv = this.Controls[controlname] as DataGridView;
...
[/Quote]
+1
threenewbee 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jjkkason 的回复:]
引用 1 楼 caozhy 的回复:
string controlname = "dataGridView1";
DataGridView dgv = this.Controls[controlname] as DataGridView;
...
不行这个方法 得到的数据为空
[/Quote]
那是你别的地方的问题。

如果获取不到,返回 null,程序会丢出异常的。
lyou250 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
string controlname = "dataGridView1";
DataGridView dgv = this.Controls[controlname] as DataGridView;
...
[/Quote]
+10086
jjjkkkason 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cl_stock 的回复:]
引用 1 楼 caozhy 的回复:
string controlname = "dataGridView1";
DataGridView dgv = this.Controls[controlname] as DataGridView;
...

+1
[/Quote]哪+1
jjjkkkason 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 ye987987 的回复:]
大哥 重点不是这句string name1=dgv.Name;//
是这句paste(datagridview);

你的意思就是传对象

public void paste(DataGridView dgv) 这是带参方法

你所要的 传 DataGridView 类型的参数
DataGridView dataGridView1=new DataGridView();//自己托控……
[/Quote] dataGridView1 就是DataGridView 控件的Name 这个我知道 但是问题是NAME是sring类型 而控件是datagridview类型 你觉得我能直接在调用paste函数的时候 直接写上paste(datagridview1)吗
jjjkkkason 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 caozhy 的回复:]
引用 7 楼 jjkkason 的回复:
引用 1 楼 caozhy 的回复:
string controlname = "dataGridView1";
DataGridView dgv = this.Controls[controlname] as DataGridView;
...
不行这个方法 得到的数据为空

那是你别的地方的问题。

如果获取不到,返回 null,程序……
[/Quote] 程序就是异常
jjjkkkason 2011-04-26
  • 打赏
  • 举报
回复
没有人帮忙吗?
jjjkkkason 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ye987987 的回复:]
大概明白
上面的方法里

paste(datagridview);
---------------------------------------

public void paste(DataGridView dgv)
{
string name1=dgv.Name()//
}
[/Quote]我要调用控件 控件的名字 我已经有了 do you understand?
不啦草 2011-04-25
  • 打赏
  • 举报
回复
大概明白
上面的方法里

paste(datagridview);
---------------------------------------

public void paste(DataGridView dgv)
{
string name1=dgv.Name()//
}


jjkkason 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ye987987 的回复:]
没明白你要说什么~
DataGridView datagridview
public void paste(DataGridView dgv)
{
string name1=dgv.Name()//就直接获取名字了!
string name2=datagridview.Name()//
}
[/Quote]通过控件名字 调用控件
不啦草 2011-04-25
  • 打赏
  • 举报
回复
没明白你要说什么~
DataGridView datagridview
public void paste(DataGridView dgv)
{
string name1=dgv.Name()//就直接获取名字了!
string name2=datagridview.Name()//
}
jjkkason 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
string controlname = "dataGridView1";
DataGridView dgv = this.Controls[controlname] as DataGridView;
...
[/Quote]不行这个方法 得到的数据为空
Hamber_Bao 2011-04-25
  • 打赏
  • 举报
回复
dgv.Name

调用传过来的DataGridView控件的Name属性
jjkkason 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gefangliang 的回复:]
((DataGridView )sender).Name== "名字"
[/Quote]我的意思是通过名字调用控件
jjkkason 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gefangliang 的回复:]
((DataGridView )sender).Name== "名字"
[/Quote]我的意思是通过名字调用控件
jjkkason 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gefangliang 的回复:]
((DataGridView )sender).Name== "名字"
[/Quote]我的意思是通过名字调用控件
心灵彩虹 2011-04-25
  • 打赏
  • 举报
回复
((DataGridView )sender).Name== "名字"
threenewbee 2011-04-25
  • 打赏
  • 举报
回复
string controlname = "dataGridView1";
DataGridView dgv = this.Controls[controlname] as DataGridView;
...

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧