文档章节

Winform常用的一些功能收集(持续更新)

深圳大道
 深圳大道
发布于 2016/12/29 15:37
字数 692
阅读 22
收藏 0
#region progressBar实时显示进度
        private void button1_Click(object sender, EventArgs e)
        {
            int i = 10000;
            progressBar1.Minimum = 0;
            progressBar1.Maximum = i;
            for (int k = 0; k < i; k++)
            {
                progressBar1.Value += 1;
                Application.DoEvents();  //label1实时显示,而非处理完成后再显示
                label1.Text = progressBar1.Value.ToString() ;
            }
        }
        #endregion

        #region 打开文件选择对话框
        private void menuFileLoad_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.Title = "Open Photo";
            dlg.Filter = "jpg files(*.jpg)|*.jpg|All files(*.*)|*.*";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    pbxPhoto.Image = new Bitmap(dlg.OpenFile());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
            dlg.Dispose();
        }
        #endregion

        #region 菜单选中或可选
        private void menuImage_DropDownOpening(object sender, EventArgs e)
        {
            ProcessImageOpening(sender as ToolStripDropDownItem);
        }

        private void ProcessImageOpening(ToolStripDropDownItem parent)
        {
            if (parent != null)
            {
                string enumval = pbxPhoto.SizeMode.ToString();
                foreach (ToolStripMenuItem item in parent.DropDownItems)
                {
                    item.Enabled = (pbxPhoto.Image != null);
                    item.Checked = item.Tag.Equals(enumval);
                }
            }
        }
        #endregion
#region Timer控件定时操作
        private void button3_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            timer1.Interval = 1000;//1秒1次
            timer1.Tick += new EventHandler(tmr_Tick);
            timer1.Start();
        }

        private void tmr_Tick(object sender, EventArgs e)
        {
            //到达设定时间后的事件
            label1.Text = DateTime.Now.ToString() + "执行了";
        }

        private void button4_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
        }
        #endregion
//ListView新增列
            listView1.Columns.Add("年龄", 100, HorizontalAlignment.Center);
            listView1.Columns.Add("班级", 80, HorizontalAlignment.Center);
            listView1.Columns.Add("性别", 40, HorizontalAlignment.Center);
            listView1.Columns.Add("职业", 100, HorizontalAlignment.Center);
            button5.Enabled = false;

            //ListView新增行 批量更新防闪烁
            listView1.BeginUpdate();
            listView1.Items.Add("row1", "张三", 0);
            listView1.Items["row1"].SubItems.Add("21");
            listView1.Items["row1"].SubItems.Add("98001");
            listView1.Items["row1"].SubItems.Add("男");
            listView1.Items["row1"].SubItems.Add("学生");

            listView1.Items.Add("row2", "李四", 0);
            listView1.Items["row2"].SubItems.Add("22");
            listView1.Items["row2"].SubItems.Add("98002");
            listView1.Items["row2"].SubItems.Add("女");
            listView1.Items["row2"].SubItems.Add("教师");

            listView1.Items.Add("row3", "王五", 0);
            listView1.Items["row3"].SubItems.Add("23");
            listView1.Items["row3"].SubItems.Add("98003");
            listView1.Items["row3"].SubItems.Add("男");
            listView1.Items["row3"].SubItems.Add("工程师");

            listView1.Items.Add("row4", "赵六", 0);
            listView1.Items["row4"].SubItems.Add("24");
            listView1.Items["row4"].SubItems.Add("98004");
            listView1.Items["row4"].SubItems.Add("女");
            listView1.Items["row4"].SubItems.Add("公务员");
            listView1.EndUpdate();

            //设置ListView属性
            listView1.GridLines = true;
            listView1.View = View.Details;
            listView1.LabelEdit = false;
            listView1.HeaderStyle = ColumnHeaderStyle.Clickable;

            //更改行颜色
            for (int i = 0; i < listView1.Items.Count; i++)
            {
                if (i % 2==0)
                {
                    listView1.Items[i].BackColor = Color.Gray;
                }
            }

            listView1.Items.Clear(); //清除列表内容 不包含表头

            listView1.Clear(); //清除列表包含表头
//画直线
            Graphics g = CreateGraphics();
            Pen p = new Pen(Color.Gray);
            g.DrawLine(p, 0, this.Height / 2, this.Width, this.Height / 2);            

            //画矩形
            g.DrawRectangle(p, 50, 50, 200, 100);

            //画圆形
            g.DrawEllipse(p, 100, 100, 100, 100);

            //画圆柱体
            int height = this.ClientSize.Height - 200;
            int width = this.ClientSize.Width - 50;
            int vHeight = 200;
            int vWidth = 100;
            g.Clear(Color.White);
            SolidBrush brush = new SolidBrush(Color.Gainsboro);
            for (int i = height / 2; i > 0; i--)
            {
                g.DrawEllipse(p, width / 2, i, vHeight, vWidth);
            }
            g.FillEllipse(brush, width / 2, 0, vHeight, vWidth);
            
            //释放资源
            p.Dispose();
            g.Dispose();
//读取图片
        //Bitmap bmap = new System.Drawing.Bitmap(@"c:\1.jpg");
        Bitmap bmap = (Bitmap)System.Drawing.Image.FromFile(@"c:\1.jpg");
        //加载图片
        Graphics g = Graphics.FromImage(bmap);
        //定义字体
        Font drawFont = new Font("Arial", 10, FontStyle.Bold, GraphicsUnit.Millimeter);
        //定义画笔
        SolidBrush drawBrush = new SolidBrush(Color.Red);
        //定义坐标
        int xPos = bmap.Height - (bmap.Height - 25);
        int yPos = 3;
        //绘制文字
        g.DrawString("清纯美女", drawFont, drawBrush, xPos, yPos);
        //保存图片
        bmap.Save(@"c:\2.jpg");
        //释放资源
        bmap.Dispose();
        g.Dispose();
private void btnExport_Click(object sender, EventArgs e)
        {
            //获取用户选择路径  导出Execl
            SaveFileDialog SaveFile = new SaveFileDialog();
            SaveFile.Filter = "Miscrosoft Office Excel 97-2003 工作表|*.xls|所有文件(*.*)|*.*";
            SaveFile.RestoreDirectory = true;
            if (SaveFile.ShowDialog() == DialogResult.OK)
            {
                string targetPath = SaveFile.FileName;
                if (File.Exists(targetPath)) { File.Delete(targetPath); } File.Copy(fileSource, SaveFile.FileName);
                DialogResult r = MessageBox.Show ("导出数据成功!" , "系统信息" , MessageBoxButtons.OK , MessageBoxIcon.Information ) ;
                if (r == DialogResult.OK)
                {
                    System.Diagnostics.Process.Start(SaveFile.FileName);
                }
            }
        }

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/22724375

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
Winform开发框架之通用自动更新模块

在网络化的环境中,特别是基于互联网发布的Winform程序,程序的自动更新功能是比较重要的操作,这样可以避免挨个给使用者打电话、发信息通知或者发送软件等,要求其对应用程序进行升级。实现...

长平狐
2012/08/22
1K
0
Winform开发框架之通用自动更新模块

在网络化的环境中,特别是基于互联网发布的Winform程序,程序的自动更新功能是比较重要的操作,这样可以避免挨个给使用者打电话、发信息通知或者发送软件等,要求其对应用程序进行升级。实现...

长平狐
2012/06/11
518
0
Winform开发框架的重要特性总结

从事Winform开发框架的研究和推广,也做了有几个年头了,从最初的项目雏形到目前各种重要特性的加入完善,是经过了很多项目的总结归纳和升华,有些则是根据客户需要或者应用前景的需要进行的...

walb呀
2017/12/04
0
0
Aspose.Tasks 6.2.0 发布,.NET 项目管理组件

Aspose.Tasks 6.2.0 发布,此版本更新内容如下: 扩展了自动进行项目相关数据重新计算的功能 扩展了根据项目类型和资源选项来重新计算项目任务相关数据的功能,其中包括重新计算单位任务和作...

oschina
2014/01/10
340
0
使用.net core3.0 正式版创建Winform程序

前阵子一直期待.net core3.0正式版本的出来,以为这个版本出来,Winform程序又迎来一次新生了,不过9.23日出来的马上下载更新VS,创建新的.net core Winform项目,发现并没有Winform窗体设计...

伍华聪
10/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

新建作业20191011121223

2.编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound,Sally shouted,"By the Great Pumpkin,what was that!" #include<stdio.h>int main(){printf("\a");......

电子197朱妍
21分钟前
3
0
家庭作业——苗钰婷

2 编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that! #include<stdio.h>int main(){......

OSC_Okruuv
42分钟前
6
0
经典系统设计面试题解析:如何设计TinyURL(一)

原文链接: https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
43分钟前
5
0
2.面向对象设计原则(7条)

开闭原则 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 实现方法 可以通过“抽象约束、封装变化”来实...

Eappo_Geng
45分钟前
9
0
8086汇编基础 debug P命令 一步完成loop循环

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
49分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部