C#之基于winform窗体绘制简单图形

这篇具有很好参考价值的文章主要介绍了C#之基于winform窗体绘制简单图形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是窗体?

可以理解为是一个自定义的控制台应用程序。

假如需要仅仅是用vs制作游戏的话,那么vs中,我们平时所用到的控制台应用程序所呈现的窗口时远远不够用的。因此需要自定义窗体。

因此在新建项目时,我们不能再使用控制台应用程序,而是应该选择窗体:

C#之基于winform窗体绘制简单图形

之后就完成了窗体的新建。

这里可以给大家直接运行我们新建好地窗体:

C#之基于winform窗体绘制简单图形

如下弹出地窗口就是我们新建好的窗体。由于我们没有对窗体进行任何操作,所以当前窗体是一片空白的。 

其次,完成之后会在工程目录下发现如下几个文件:

C#之基于winform窗体绘制简单图形

Form1.cs中专门放置一些和交互响应时间、逻辑处理、业务相关的代码;

Designer里面就是管理窗体的外观

拓展1——设置窗体的生成位置:

C#之基于winform窗体绘制简单图形

如果需要自定义生成位置,可以使用manual方法,后面接窗体的生成坐标位置。

拓展2——窗体之中的控件

什么是控件?

对有Android studio开发经验的人来说控件并不陌生。所谓控件,就是类似于按钮这种可以响应事件并且能够进行相应处理的图形交互组件。

vs窗体中控件的位置:

打开视图里面的工具栏:

C#之基于winform窗体绘制简单图形

右侧就会展开一个控件的列表,里面有各种各样的控件:

C#之基于winform窗体绘制简单图形

我们开发游戏不会用到哪些控件,但是我们会用到一个图形设备接口GDI。简单来说,就是一个画图的技术,可以把图片画在winform上面。

C#之基于winform窗体绘制简单图形

  接下来介绍大家简易地用GDI画图。

在绘制图形前,需要我们注意的时,这个窗体的坐标轴是以屏幕左上角为坐标原点的,这对于我们绘制图形,设置坐标点,十分重要,具体如下图所示:

C#之基于winform窗体绘制简单图形

简单直线的绘制

打开form1.cs文件,会有如下代码:

C#之基于winform窗体绘制简单图形

 但是如果直接在form1的构造函数中绘制图形,窗口并不会进行相关绘制,这是因为在构造函数中绘制图形,此时窗体都并没有创建完成,因此也不会有图形的绘制。

因此,我们需要在窗体创建好之后再绘制图形,操作步骤如下:

再设计窗口中,右击——属性:

C#之基于winform窗体绘制简单图形

找到paint,空白处点击,新建paint方法:

C#之基于winform窗体绘制简单图形

 可以发现,再form1代码文件中会自动帮我们新建一个paint方法,我们直接在这个方法中绘制图形即可:

C#之基于winform窗体绘制简单图形

这一步可以理解为新建了一个绘图的画布:

C#之基于winform窗体绘制简单图形

 绘制图形使用的是draw的一些方法,画直线则是用的drawLine:

C#之基于winform窗体绘制简单图形

 使用draw的方法需要传递关于画笔、起点以及原点相关信息,因此在此之前我们定义了一个画笔。

最终编写代码、运行结果如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ct1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = this.CreateGraphics();
            Pen p = new Pen(Color .Blue);
            g.DrawLine(p,new Point (1,1),new Point (100,100));
        }
    }
}

C#之基于winform窗体绘制简单图形

为了验证之前的坐标,我设置的直线的起点坐标为(1,1)。可以看见,直线的(1,1)的位置是很接近屏幕左上角的。

大家也可以进一步测试(0.00001,0.0000001 )的坐标,结果应该是无限趋近窗体屏幕左上角的。

但是值得注意的是,new的point类名的参数值类型为int型,但是大家可以使用强制转换类型来完成测试。

绘制简单字符串

其实绘制方法同上,只是由原本的drawline变成了drawstring:

C#之基于winform窗体绘制简单图形

 文章来源地址https://www.toymoban.com/news/detail-415470.html

 传递的参数分别为要绘制的字符串、字体(字体形式,大小)、刷子(刷子颜色)、绘制坐标。

完成效果如下:

C#之基于winform窗体绘制简单图形

 

到了这里,关于C#之基于winform窗体绘制简单图形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# Winform 多进程窗体间传值->SendMessage()

    在 C# 的 Windows Forms 中,使用 Windows API 的 SendMessage 方法可以实现窗口间的消息通传递,当然也可以在不同的进程之间发送消息。接下来,我将为您提供一个基本的示例,演示如何使用 SendMessage 以及如何重写 WndProc 方法来接收并处理消息。 首先,你需要添加对Windows API的引用:

    2024年02月14日
    浏览(43)
  • C# winform usercontrol控件跟随主窗体实现自动大小

    usercontrol控件跟随主窗体实现自动大小 今天是跟着哗哩哗哩大学学习C的第N天,但是是学习usercontrol的第一天。 第一天遇到的问题就是如何将usercontrol的大小跟随主窗体的一起变大变小。视频中教得很详细,首先是将usercontrol控件实例化,接着就是设置usercontrol的dock属性为fil

    2024年02月12日
    浏览(48)
  • C#在winForm窗体中添加一个可以自由拖动的控件

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 一、实现步骤 1.创建一个新的Windows窗体项目 2.添加控件如图 3.代码部分 总结 textBox1=鼠标在需要拖动的控件中的坐标 X 值 textBox2=鼠标在需要拖动的控件中的坐标 Y 值 textBox3=需要

    2024年01月19日
    浏览(44)
  • .net-----Windows 窗体应用程序包括控件,对话框,多重窗体,绘制图形,菜单和工具栏

    Windows窗体应用程序概述;  使用Visual Studio开发Windows窗体应用程序;  窗体和控件概述;  使用常用Windows窗体控件;  通用对话框;  菜单和工具栏;  多重窗体;  多文档界面;  绘制图形 Windows窗体应用程序是运行在用户计算机本地的基于Windows的应用程序,

    2024年02月04日
    浏览(65)
  • C# winform窗体UI美化后实现最大化、最小化、还原、关闭、窗体移动等等-2023/1/11

    在做winform窗体UI美化时,一般都需要将窗体的FormBorderStyle属性设为None,之后窗体就会没有最上面的标题栏,然后按照UI进行界面的设计。美化的代价就是窗体本来标题栏的相关操作,例如双击自动最大化,再次双击又恢复正常大小,以及上窗体关闭、最小化等功能就都需要自

    2024年02月08日
    浏览(55)
  • C#实例:多功能Windows窗体应用程序Helloworld_WinForm

    有了创建一个Windows窗体应用程序的经验,就可以开始尝试运用更多的控件实现更多丰富的功能界面。以下分享我基于项目Helloworld_WinForm 使用常用C#Windows窗体控件 实现一些小功能。 每一节标题为所用到的控件,全文以实际制作过程为序编制。 1、创建窗体Form 项目创建时会默

    2024年02月04日
    浏览(58)
  • C#:如何用VS开启人生中第一个Windows窗体应用程序(Winform)?

    摘要:Windows窗体应用程序(Winform,下文以此指代)既能有效、直观地设计Windows窗体界面,又支持内部逻辑的编写。那么,对于C#初学者来说,如何开启第一个Winform程序呢?    编程语言:C# 编程环境:Visual Studio 2019 目录 步骤 每篇寄语         1、点击桌面Visual Studio 2019图

    2024年02月09日
    浏览(58)
  • C#桌面程序(winform)如何一步步集成内置WebApi(owin技术),解耦IIS,并将Api接收信息推给桌面窗体控件展示

    最近工厂有个需求,服务器上部署了一个服务,此服务要把信息推送给现场多台工控机上的CS上位机程序。由于涉及到多个软件之间的通信,做架构时,首先排除掉中间表形式,从效率和稳定性上也排除掉了Socket,最后采用了WebApi接口形式来做通信。但是有个问题,上位机程

    2023年04月08日
    浏览(46)
  • MATLAB简单图形绘制(五)

    目录 实验目的 实验内容   1)掌握MATLAB图形绘制的基本原理和方法; 2)熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3)掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 4)掌握plot、subplot的指令格式和语法。 2-1)、设 在=0~2π区间等间隔取100点

    2023年04月14日
    浏览(74)
  • 使用MFC绘制一些简单图形

    目录 一、画直线 更改画笔样式 二、使用画刷画一个矩形 透明矩形 自定义颜色填充矩形 自定义图形填充矩形 四、实现一个画笔 五、画扇形 六、画椭圆 七、画圆 八、输出文本     画一条直线需要一个起点和一个终点,当鼠标按下时记录为起点坐标,鼠标弹起时记录为终点

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包