http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5606|回复: 10

[Winform] 控件隐藏问题

[复制链接]
发表于 2013-10-11 17:28:49 | 显示全部楼层 |阅读模式
this.tcImg.Visible = false;  这个tcImg是个控件。。这样是完全没有问题的。。。
  但是我有个需求是tcImg,有可能不确定,有可能是tcLarge,tcBit等等。。。如何做到动态啊?


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-10-11 17:30:42 | 显示全部楼层
不确定是什么意思,写个方法做个判断,比如传1隐藏tcImg 2隐藏tcLarge 3隐藏tcBit
不就行了,
 楼主| 发表于 2013-10-11 18:06:51 | 显示全部楼层
站长苏飞 发表于 2013-10-11 17:30
不确定是什么意思,写个方法做个判断,比如传1隐藏tcImg 2隐藏tcLarge 3隐藏tcBit
不就行了,

晕。。。如果这样的话,就简单了。。。。关键是,控件名字是动态的...
 楼主| 发表于 2013-10-11 18:43:05 | 显示全部楼层
没人会吗?
回复

使用道具 举报

发表于 2013-10-11 18:47:40 | 显示全部楼层
动态的。你也没说啊,动态的定义个方法,参数就是控件名就是了
发表于 2013-10-11 19:16:34 | 显示全部楼层
不要心急 先把需求说清楚,你是怎么生成的, 就算是变化的,在当前页面中也应该知道传的那个名称吧,如果知道使用反射,或者是我上面说的定义个方法都可以实现,你说一下你的具体情况,我给你写个代码就是了
 楼主| 发表于 2013-10-11 20:28:43 | 显示全部楼层
站长苏飞 发表于 2013-10-11 18:47
动态的。你也没说啊,动态的定义个方法,参数就是控件名就是了

恩,我举例说下吧,UI界面上有控件 tc,tb,td,ty,tq显示为false

    登录的时候,根据权限判断,只显示tc,tb
    数据库读出来的的字符串为,tc,tb.

   如何让tc,tb控件显示...

  谢谢苏飞可以详细的回答下,感激不尽!





发表于 2013-10-12 00:25:42 | 显示全部楼层
参考FindControl()方法!
发表于 2013-10-12 08:10:58 | 显示全部楼层
我给你一个例子接下来的我相信你自己能解决

Html代码
[code=html] <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
    </div>[/code]
Cs代码
[code=csharp] ((TextBox)this.FindControl("TextBox1")).Text = "123";
            ((TextBox)this.FindControl("TextBox2")).Visible = false;
            ((TextBox)this.FindControl("TextBox3")).Text = "123456";[/code]
this.FindControl取的是页面所有控件结合,而这个方法是根据控件ID进行查找的,
如果你想在别的容器里查找也是一样的,
比如你的Form里面
你可以这样
[code=csharp]((TextBox)this.form1.FindControl("TextBox3")).Text = "123456";[/code]
接下来的你只需要把这个定义成个方法,或者是你直接写到你相应的地方就行了
试试看吧
 楼主| 发表于 2013-10-12 09:15:44 | 显示全部楼层
站长苏飞 发表于 2013-10-12 08:10
我给你一个例子接下来的我相信你自己能解决

Html代码

谢谢苏飞,但是我用下面的方法解决了。。。下面的方法,不管控件是textbox,还是什么,只要找打他的ID,就可以隐藏。。。   


var str = "b1,b2,b3";  //控件的name值
            foreach (Control item in this.Controls)
            {
                for (int i = 0; i < str.Split(',').Length; i++)
                {
                    if (item.Name == str.Split(','))
                    {
                        (item as Control).Visible = true;
                    }
                }
            }

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-6-14 15:02

© 2014-2021

快速回复 返回顶部 返回列表