基本需求如下:我制作了一个公司的设备管理系统,在设备用户界面是仿造目前车间布局画的页面,其中一台设备就是一张图片。
现在要求给设备加一个状态属性,表示它是损坏、保养、正常使用。比如是损坏,就给设备图加个红边,是保养,就加个黄边,正常使用,就什么都不加,这个怎么实现,有没有简单的办法,最好不要换图片的。(说明,车间布局图上大概有500多台设备,所以需要考虑下方法实现是否容易)。

解决方案 »

  1.   

            private void button3_Click(object sender, EventArgs e)
            {
                this.drawImageBorder(Brushes.Red);
            }        private void drawImageBorder(Brush brush)
            {
                Image img = this.pictureBox1.Image;
                Graphics dc = Graphics.FromImage(img);
                dc.DrawRectangle(new Pen(brush,10),new Rectangle(0,0,img.Width,img.Height));
                this.pictureBox1.Image = img;
            }
    你问题可真多,我不是在上面回答了你这个问题了么?
      

  2.   

    Image img .....             Graphics g = Graphics.FromImage(img); 
                Pen p=new Pen(new SolidBrush(Color.Red),50); 
                g.DrawRectangle(p, new Rectangle(0, 0, img.Width, img.Height));
      

  3.   

    按照jhkemail的做法可以实现但是这句可能需要修改一下
    dc.DrawRectangle(new Pen(brush,10),new Rectangle(0,0,img.Width,img.Height)); 后面的img.Width,img.Height,应该要减去刷子的宽度,要不然画显示出来只有上边和左边框,右边和下边框显示不出来
      

  4.   

    感谢各位的指导,因为网络不好,这个帖子我连续发了两次。我把那一个已经结帖了,现在呢,我把问题再详细描述一下。我新建了一个状态表,包括id,disuse,maintain,normal,sb_id五列。我已经在样式表里设置好了边框显示样式,当我进入设备图页面时,就读状态表,比如disuse=1,maintain和normal=null,那么就调用image.disuse这个样式,sb_id主要是为了把设备表和状态表对应起来,比如sb_id=1,那么就把编号为1的设备加上image.disuse这个样式,请问如何判断并调用这个CSS样式呢?