我想在符合条件的按钮的左上角加一个小图标 这个怎么做?

解决方案 »

  1.   

    要么用image属性 要么重写控件 
    重写也不难
    直接就在你的那个form里面写一个内部类继承buttonpublic class MyBtn : Button {
                //增加一个属性
                private Image imageIcon;
                public Image ImageIcon {
                    get { return imageIcon; }
                    set { imageIcon = value; }
                }
                //构造器
                public MyBtn(Image icon) {
                    PictureBox p = new PictureBox();
                    p.Size = new Size(this.Height / 2, this.Height / 2);
                    this.Controls.Add(p);
                    p.BackColor = Color.Transparent;
                    p.Image = icon;
                    p.Click += new EventHandler(p_Click);//绑定图标的单击事件
                }
                //图标被单击是 触发 按钮的单击事件
                private void p_Click(object sender, EventArgs e) {
                    this.OnClick(e);
                }
            }        private void Form1_Load(object sender, EventArgs e) {
                MyBtn b = new MyBtn(null);
                this.Controls.Add(b);
            }你以此类推吧、、、、
      

  2.   

    你们winform太累了吧.
    wpf的:
            <Button>
                <Grid>
                    <Image/>
                    <Label/>
                </Grid>
            </Button>这样既有图标也有文字.
      

  3.   

    没有使用过WPF/Silverlight以前,总是倾向于采用代码和面向对象继承来解决问题.
    在喜欢WPF或者其它类似的支持UI和数据相分离的标记化语言模型后,基本上第一个反应就是构造一个模板或者脚本,然后LoadTemplate得到实例化对象来解决问题
      

  4.   

    Silverlight中很容易哈。直接Button里面套控件,没事可以瞧瞧
      

  5.   

    WPF确实简单多了,不过WINFORM也有蛮多可用的商业控件嘛
      

  6.   

    button.Image 属性
    后台代码控制
    if(满足于你的条件)
       button.Image=...
      

  7.   

    无意间 又看到了 突然 发现 写的 有些问题 那个 imageicon 就是一个白色 把他 可 picturebox 的image关联起来 、、然后 sizeMode改成 那个缩放的、、、然后大小位置什么的 就自己看着办吧、、
    - -!、、再说 我也是随便弄的一个 质量很水的 仅作参考、、、、