C# DEV控件 判断 窗口中是不是有 barManager 控件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# DEV控件 判断 窗口中是不是有 barManager 控件相关的知识,希望对你有一定的参考价值。
不能用遍历 foreach (Control con in Form.Controls)的方法来索取,获取不到。
Form我是用反射的方法获取的(Form frm = asb.CreateInstance(type.FullName) as Form;),目的是为了让barManager里面的按钮可以按需求显示与隐藏,
var c = control as IBarObject;
if (c != null)
var m = c.Manager;
if (m != null)
//这个m就是BarManager
break;
如果用linq就更简化了
var m = frm.Controls.OfType<IBarObject>().Select(x => x.Manager).FirstOrDefault();if (m != null)
//这个m就是BarManager
追问
谢谢给予帮助! 不过用frm.Controls的方法不行的 我这个是第三方的DEV控件 它不继承自Control类,所以获取不到。楼上的友友给与了答案,你可以去看看
追答你最好试一下,我亲测的没有问题。
并且不需要反射。对于private字段,反射并不总是有效的。
谢谢帮助啊! 原来FieldInfo是这么用的! 太感谢了!
追答不用谢 你看看Designer.cs文件 就会明白为什么Barmanager是字段而不能从Form.Controls中获取了
本回答被提问者采纳C#中openFileDialog1的问题
我做了一个信息查询的当点击信息查询的时候有选择修改的 跳出修改窗口将数据信息填充到这个窗口上 带上在文件上传哪里不选择一次的话 会提示 无法找到文件openFileDialog1 必须重新浏览打开一次文件才可以,添加就没有这个问题,只有修改的时候才这样
修改的时候代码有问题 你是不是没有判断有没有打开openFileDialog啊,而且上面那个错误是不是你的控件openFileDialog1默认文件名就是openFileDialog1这个啊 还有是【浏览】不是【游览】 有错别字 参考技术A 是不是传文件名参数的时候传错了? 参考技术B 求贴代码,你可以设置断点,调错,这个提示问题是说文件上传错误,你可以看文件上传代码的调用情况。以上是关于C# DEV控件 判断 窗口中是不是有 barManager 控件的主要内容,如果未能解决你的问题,请参考以下文章
c# 在groupbox控件中判断的内嵌的radiobutton是不是已选