不使用OnPaint()进行绘制
2022/8/1 23:22:56
本文主要是介绍不使用OnPaint()进行绘制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一些人在论坛上询问关于不使用OnPaint方法或事件进行绘画的问题。
为什么要使用onpaint函数呢?主要原因是我们可以轻易地使用paint函数得到Graphics对象。实际上,不使用onpaint函数进行绘制是非常简单的。只需要在正在绘制的窗体中得到Graphics对象即可。
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 10 namespace DrawWithNoPaintDemo 11 { 12 public partial class Form1 : Form 13 { 14 public Form1() 15 { 16 InitializeComponent(); 17 } 18 19 private void radioButton1_CheckedChanged(object sender, EventArgs e) 20 { 21 22 } 23 24 private void button1_Click(object sender, EventArgs e) 25 { 26 Graphics grfx = Graphics.FromHwnd(this.Handle); 27 //Graphics grfx = CreateGraphics(); 28 Pen pn = new Pen(Color.Blue,10); 29 SolidBrush br = new SolidBrush(Color.AliceBlue); 30 Rectangle rc = new Rectangle(200,50,200,200); 31 32 if (radioButton1.Checked) 33 { 34 pn.Color = Color.Red; 35 br.Color = Color.Red; 36 } 37 if (radioButton2.Checked) 38 { 39 pn.Color = Color.Green; 40 br.Color = Color.Green; 41 } 42 if (radioButton3.Checked) 43 { 44 pn.Color = Color.Blue; 45 br.Color = Color.Blue; 46 } 47 48 if (checkBox1.Checked) 49 { 50 grfx.FillEllipse(br,rc); 51 grfx.DrawEllipse(pn,rc); 52 } 53 if (checkBox2.Checked) 54 { 55 grfx.DrawRectangle(pn,rc); 56 } 57 if (checkBox3.Checked) 58 { 59 grfx.DrawString("Test String",new Font("Verdana",14),new SolidBrush(Color.Black),rc); 60 } 61 62 pn.Dispose(); 63 br.Dispose(); 64 } 65 } 66 }
这篇关于不使用OnPaint()进行绘制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25探索随机贪心算法:从入门到初级应用
- 2024-12-25树形模型进阶:从入门到初级应用教程
- 2024-12-25搜索算法进阶:新手入门教程
- 2024-12-25算法高级进阶:新手与初级用户指南
- 2024-12-25随机贪心算法进阶:初学者的详细指南
- 2024-12-25贪心算法进阶:从入门到实践
- 2024-12-25线性模型进阶:初学者的全面指南
- 2024-12-25朴素贪心算法教程:初学者指南
- 2024-12-25树形模型教程:从零开始的图形建模入门指南
- 2024-12-25搜索算法教程:初学者必备指南