永发信息网

怎样使用C#的控件

答案:2  悬赏:10  手机版
解决时间 2021-04-18 11:19
怎样使用C#的控件
最佳答案
VS自己提供一套控件,也提供给你usercontrol,无论是那种控件他的类型是control。
使用的时候你可以从工具箱拖放,拖放完了后你会发现他在disign里面自动构造了申明与实例。我们也可以不让托管代码去构造,手工是引用,这种引用就需要实例化。实例化也指向一个已经存在的实例,这种实例可以是VS托管代码自带的,也可以使你创建的usercontrol。
比如我们要使用一个button,他是vs自带的。就可以直接实例化后设置他的属性以及订阅事件:
Button btn=new Button();
btn.Left=...;
btn.Top=...;
btn.Name="buto";
btn.Click+=(Object ob,EventArgs we)=>{
   ....
   };实例确定好了以后要把他装入容器:
panel1.Controls.Add(btn);现在我依据刚才取得名字和类型去找他的原型:
Button b=(Button)panel1.Controls["buto"];
b.Enabled=false;如果我没有取名字,那就用类型去遍历他的原型:
foreach(Control ctl in panel1)
{
    if(ctl is Button)
    {
        ctl.Enabled=false;
    }
}他的父容器是.Perent子类。他的项目原型是要用object映射。

自定义控件也是一样,前提你要保存,不理解的你就看工具箱上能不能找到,保存过能调试过的能在工具箱找到。
全部回答

看你是第几个阶段的用户。
如果只是简单地试用一下,从工具箱上直接拖放就行,如果你要把UI设计完美一点,有一些自己创意或者考虑到分辨率那就需要用实例去创建控件,如同我们在java中一样,如何用实例去创建控件?简单举例,我创建一个像listView样式的菜单:void CreactControl()//创建控件初始化
{
   for(int i=0;i<5;i++)
   {
       PictrueBox px=new PictrueBox();
       px.Image=imageList[i];//图片存放在imagelist里面
       px.Left=Convert.ToInt32(panel1.ClientSize.Width*0.08);  //左边距取容器8%宽度
       px.Top=Convert.ToInt32(panel1.ClientSize.Height*0.1)*i+80;//上边距是高度10%尺寸,间距80pix
       Label lb=new Label();
       lb.AutoSize=true;
       lb.Name="lb"+i.ToString();
       lb.Text=ds.Tables[0].Rows[i]["数据库列名"].ToString();//初始化显示数据库前五行指定列数据 
       lb.Left=px.Left+120; //Label在pictrueBox正右边
       lb.Top=px.Top;//与图片等高
       Button btn=New Button();
       btn.Name="bn"+i.ToString();
       btn.Text="提交";  //提交按钮
       //btn...   一样的设计靠右边
       btn.Click+=new EventHandler(btnClick);  //给他自定义事件
       //加入以上控件到panel1
       this.Panel1.Controls.Add(px);
       this.Panel1.Controls.Add(lb);
       this.Panel1.Controls.Add(btn);
    }
}
//按钮的自定义事件
void btnClick(object sender,EventArgs e)
{
    string name=((Button)sender).Text;//获取自己名称
    string labname="lb"+name.SubString(2,name.Length-2); //获取标签名
    Label label=(Label)this.panel1.Controls[labname];//获取标签control
    MessageBox.Show(label.Text);//弹出他对应的标签测试一下
}
void pageList(int index)
{
   //这里写计算翻页的代码
}


很多时候我们看到的一些工具箱上没有的界面,不要疑神疑鬼以为他是第三方控件或者特殊控件,自己动手画一个就好了,这就是C#和Java的长项
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
坐任何事都不要养成习惯收一句话
考研专业课中(704)量子力学和(841)量子力
人吸入材油怎么办,不小心吸入一小口,请问用
so,my elder brother,worked very hard at hi
卫浴浴室柜十大品牌有哪些
含有子规的诗句
下列词语中没有错别字的一项是A.慰藉 懊恼 苍
鸟蜂文言文阅读答案熊蛰父是一个怎么样的人
儿童闻花香的句子,何日君再来,共闻落花香。
小麦粉中的30粉和6O粉怎么划分的
很喜欢陆风新出的那款逍遥,最近有优惠吗?
去日本坐哪个航空公司,要去墨尔本,选择什么
什么是烫白漆?跟烫银和丝印白色有什么区别?
用分数表示下面各题.350米=( )千米、5平方
剑侠情缘选什么门派,剑侠情缘哪个门派好 门派
推荐资讯
公司运动口号大全,求健身社宣传口号,谢谢。
私房野生鳝鱼焖红烧肉
烤箱烤羊肉串用锡纸吗 烤羊肉串注意事项
是不是蚊子咬的,开始看着像蚊子咬的,用了无
铝可以做金属坦克履带吗
手腕腱鞘炎打什么针,手腕腱鞘炎打针是打那个
北京树米网络科技有限公司怎么样?
77年7月7日出生,要到那年才有好运气,
表达好心情的句子秋天,表达秋游天气好心情好
申通客服邮箱是多少,申通快递总公司的电话是
物体的运动和静止都是相对的,都相对于A.参照
求台版恶作剧之吻2的360云盘资源啊!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?