winform 单选框, 图像控件,图像列表,状态栏,定时器,绘图

        private void button8_Click(object sender, EventArgs e)
        {
            if(radioButton1.Checked)
            {
                MessageBox.Show("第一个");
            }
            else if(radioButton2.Checked)
            {
                MessageBox.Show("第二个");
            }
            else if(radioButton3.Checked)
            {
                MessageBox.Show("第三个");
            }
        }
        public void showpic()
        {
            pictureBox1.Image = Image.FromFile(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + @"\image.jpg");
            pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if(pictureBox1.Image != null)//不为空
            {
                pictureBox1.Image.Dispose();
                pictureBox1.Image = null;
            }
            else
            {
                showpic();
            }
        }

        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            label8.Text = "当前操作统计信息为:页面为第" + this.tabControl1.SelectedIndex.ToString() + "页,选项卡为" + tabControl1.SelectedTab.Text + ",共有页数" + tabControl1.TabCount.ToString();
            label8.Visible = true;
        }

        private void button10_Click(object sender, EventArgs e)
        {
            progressBar1.Visible = true;
            progressBar1.Minimum = 0;
            progressBar1.Maximum = 100;
            progressBar1.BackColor = Color.Red;
            for(int i=0; i<100;i++)
            {
                progressBar1.Value++;
                this.label9.Text = progressBar1.Value.ToString();     //有bug
            }
        }

        private void button11_Click(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = "字数信息是: " + richTextBox1.Text.Length;
        }

        private void button12_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void button13_Click(object sender, EventArgs e)
        {
            timer1.Stop();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            pictureBox1.Left -= 5;// pictureBox1.Left -= 5; 语句是错误的
            if(pictureBox1.Right<0)
            {
                pictureBox1.Left = Width;

            }
        }
        //直线
        private void button14_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
            Pen p = new Pen(Color.Black);
            g.DrawLine(p, 0, this.Height / 2, this.Width, this.Height / 2);
            p.Dispose();
            g.Dispose();

        }
        //圆
        private void button15_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
            Pen p = new Pen(Color.Black);

            Rectangle r = new Rectangle(200, 200, 200, 200);//圆
            LinearGradientBrush brush = new LinearGradientBrush(r,Color.Orange,Color.Purple,90);//画刷
            g.FillEllipse(brush, r);//用画
            brush.Dispose();
            //g.DrawEllipse(p, 600, 250, 100, 100);
            p.Dispose();
            g.Dispose();
        }
        //矩形
        private void button16_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
            Pen p = new Pen(Color.Red,3);//笔刷的宽度
            Brush b = p.Brush;//用画笔作为笔刷
           // g.DrawRectangle(p, 500, 250, 200, 100);//长200,高100,
            Rectangle r = new Rectangle(400, 200, 200, 100);
            g.FillRectangle(b, r);
            b.Dispose();
            p.Dispose();
            g.Dispose();
        }
        //圆柱
        private void button17_Click(object sender, EventArgs e)
        {
            int height = this.ClientSize.Height - 100;
            int width = this.ClientSize.Width - 50;
            int vHeigth = 200;
            int vWidth = 100;
            Graphics g = this.CreateGraphics();
            g.Clear(Color.White);
            Pen pen = new Pen(Color.Gray);
            SolidBrush brush = new SolidBrush(Color.Gainsboro);
            for(int i=height/2;i>0;i--)
            {
                g.DrawEllipse(pen, width / 2, i, vHeigth, vWidth);

            }
            g.FillEllipse(brush,width/2,0,vHeigth,vWidth);//填充的时候用brush
        }
        //字体
        private void button18_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();//图像对象
            Font f = new Font("隶书",24,FontStyle.Italic);//字体
            Pen p = new Pen(Color.Blue);//画笔
            g.DrawString("Windows应用程序设计", f, p.Brush, 50, 50);

            p.Dispose();
            f.Dispose();
            g.Dispose();
        }
        //绘制新界面
        private void mainform_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = this.CreateGraphics();//图像
            g.Clear(Color.White);//
            Pen myPen = new Pen(Color.Red, 3);//画笔
            g.DrawRectangle(myPen, 600, 200, 200, 100);//矩形
            g.DrawEllipse(myPen, 600, 200, 200, 100);//填充
            g.Dispose();
            myPen.Dispose();
        }
        //坐标平移
        private void button19_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();//图像
            g.Clear(Color.White);//
            Pen myPen = new Pen(Color.Red, 3);//画笔
            g.TranslateTransform(30,120);//坐标平移,转换
            g.DrawRectangle(myPen, 600, 200, 200, 100);
            g.DrawEllipse(myPen, 600, 200, 200, 100);//填充

            g.Dispose();
            myPen.Dispose();

        }
        //坐标缩放
        private void button20_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();//图像
            g.Clear(Color.White);//
            Pen myPen = new Pen(Color.Red, 3);//画笔

            g.ScaleTransform(1, 2);// g.ScaleTransform(1.5 , 2);1.5不行!

          //  g.TranslateTransform(30, 120);//坐标平移,转换
            g.DrawRectangle(myPen, 600, 200, 200, 100);
            g.DrawEllipse(myPen, 600, 200, 200, 100);//填充

            g.Dispose();
            myPen.Dispose();
        }
        //图片上加文字
        private void button21_Click(object sender, EventArgs e)
        {
            Graphics g = Graphics.FromImage(pictureBox2.Image);
            Font f = new Font("隶书",80,FontStyle.Italic);
            Pen p = new Pen(Color.OrangeRed);
            g.DrawString("花开花落",f,p.Brush,0,0);
            p.Dispose();
            g.Dispose();
            pictureBox2.Refresh();//刷新
            //pictureBox2.Image.Save(iamg);
        }
        //创建位图
        private void button22_Click(object sender, EventArgs e)
        {
            Bitmap bm = new Bitmap(this.ClientSize.Width, this.ClientSize.Height,
                System.Drawing.Imaging.PixelFormat.Format32bppArgb);//创建位图图像
            Graphics g = Graphics.FromImage(bm);//图像对象

            Font font = new Font("隶书",80,FontStyle.Italic);//字体
            Pen pen = new Pen(Color.OrangeRed);//画笔
            g.DrawString("winddows application disigner",font,pen.Brush,0,0);//写文字
            pictureBox2.Image = bm;//加载图像
            //bm.Save()
            pen.Dispose();
            g.Dispose();

        }
时间: 2024-10-25 17:26:27

winform 单选框, 图像控件,图像列表,状态栏,定时器,绘图的相关文章

OpenCV在MFC图像控件内显示图像

1.依照文章<OpenCV+MFC显示图像>,完毕配置. 2.创建对应的图像控件,button控件. 3.进行类型转换. 在当前OpenCV2版本号内,图像格式为cv::Mat ,而该格式无法直接在MFC内显示.因此,须要将其转换为能够在MFC内显示的CvvImage类格式,该类内有函数 DrawToHDC()支持MFC.试了一下无法直接实现,须要曲线救国.首先,将 格式cv::Mat变换为格式IplImage,再转换格式为 CvvImage. 还有问题,眼下openCV2版本号不再支持Cvv

WinForm 之 使用ListView控件展示数据

在学习了这么多的WinForm基本控件后,今天在来学习一个比较有意思的包含图片的控件! >>>图像列表控件 ImageList是含有图像对象的集合,可以通过索引或关键字引用该集合中的每个对象. ImageList空间的属性 属性 说明 Images 存储在图像列表中的所有图像 ImageSize 图像列表中图片的大小 TranparentColor 被视为透明的颜色 ColorDepth 获取图片列表的颜色深度 使用ImageList控件_经验: 先设置ColorDepth,ImageL

《zw版&#183;delphi与halcon系列原创教程》zw版_THImagex控件函数列表

<zw版·delphi与halcon系列原创教程>zw版_THImagex控件函数列表 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核心控件就是两个: THImagex,图像数据控件,v11版,包括488个函数和子程序 THOperatorSetX,操作主接口控件,v11版,包括1929个子程序 以上两大核心控件,已经删除个别delphi内部属性函数,不影响日常使用. 其他控件,基本上,都是为配合两个控件,提供数据类型支持.辅助功能.已经一些特殊应用(

WinForm下编写分页控件,实现DataGridView的分页效果

 前几天做C/S项目的时候用到了分页查询,所以就想去网上找一些封装好的分页控件,类似BS项目中的那种.但是找了好几个都不是特别的好,没有自己想要的.而且WinForm 里面的DataGridView也不像WebForm里面的GridView那样有自带的分页功能.没办法还是自己动手封装一个吧,以后复用也方便. 从网上找了几个demo做了一下,实现挺简单的. 用到的方法就是编写一个用户控件,下面说明如何实现: 一,先画界面 新建一个用户控件,然后拖拽几个标签,文本框和按钮,排列好.如下图所示:

VC/MFC 工具栏上动态添加组合框等控件的方法

引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发环境所创建的应用程序框架中的工具条只是一个简单的按钮的集合,在功能上也仅仅是起到了菜单快捷方式的作用,而没有做到象VC.Word等软件的工具条那样,提供多种不同类型的标准控件如组合框.编辑框等.尤其是组合框在添加到工具条上后,可将原本需要在弹出对话框中完成的交互操作在工具条上就可以进行,从而在很大程

winform窗体中查找控件

private RichTextBox FindControl()        { RichTextBox ret = null;            try            {                Control[] controls = Application.OpenForms["MainForm"].Controls.Find("txtContent", false);                if (controls != nul

Winform跨窗体操作控件(使用委托)

Winform跨窗体操作控件是winform开发中很常见的形式,最常见且简单有效的方式便是使用委托的方式来进行操作,下面我将通过一个小实例来说明如何使用委托跨窗体实现控件操作. 实例介绍:两个窗体,Form1按钮打开Form2,然后在Form2的TextBox输入值在Form1的TextBox中显示出来. 一.项目结构 Form1窗体设计: Form2窗体设计: 二.代码实现 在Form2的代码中声明一个委托(写在Form2类外)-> public delegate void ChangeFor

WPF中嵌入WinForm中的webbrowser控件

原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能使用.决定还是使用WinForm中的webbrowser.要想在WPF中使用WinForm控件,查看MSDN,需经过以下步骤. 创建名为 HostingWfInWpf 的 WPF 应用程序项目. 在解决方案资源管理器中,添加一个对名为 WindowsFormsIntegration.dll 的 Wi

winform 自定义控件:半透明Loading控件

winform  自定义控件:半透明Loading控件 by wgscd date:2015-05-05 效果: using System;using System.Drawing;using System.Windows.Forms;using System.ComponentModel;using System.Threading; namespace wgscd{ /// <summary> /// 自定义控件:半透明控件 /// </summary> [ToolboxBit

c# winform 按名称取得控件

//取得特定名称的控件 Control control = Controls.Find("button1", true)[0]; //取得该控件的属性object o = control.GetType().GetProperty("PropertyName").GetValue(control, null); //取得该控件的事件System.Reflection.EventInfo ev = control.GetType().GetEvent("Cl