zoukankan      html  css  js  c++  java
  • 手把手教你用WinForm制作地图编辑工具(二)

    从今天开始,进入正题

    一、创建项目

      1.1 创建一个WinForm项目,我这儿用的是.NET Framework4.6.2

     

    二、导入图片资源

      2.1 准备好菜单的图片

        

      2.2 导入资源文件

      

      2.3 设计界面

        2.3.1 把主窗体设置为无边框模式,并且全屏显示

         

      2.3.2 在窗体最上方新增一个Panel自定义窗体标题以及删除按钮等

        

     

     2.3.3 关闭按钮事件

    /// <summary>
    /// 系统退出
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btnExit_Click(object sender, EventArgs e)
    {
        Environment.Exit(0);
    }    

    2.3.4 设置布局 怎么设置的我就不讲解了,这个比较简单,设置Dock就行了,右边用个TableLayout,平均上下两部分就行

     

    2.3.5 新增菜单 新增个ToolStrip

     2.3.6 组件那边放置个TreeView  属性那边放置个PropertyGrid

     

    2.3.7 编写自定义地图Panel

      新建一个MapPanel类继承Panel,设置双缓冲

        public class MapPanel : Panel
        {
            /// <summary>
            /// 构造方法,初始化数据
            /// </summary>
            public MapPanel()
            {
                //开启双缓冲,不开启双缓冲,画面重绘的时候会闪烁
                SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true);
                this.BackColor = Color.Transparent;
            }
    
            protected override void OnPaintBackground(PaintEventArgs e)
            {
                // 重载基类的背景擦除函数,
                // 解决窗口刷新,放大,图像闪烁
                return;
            }
    
            /// <summary>
            /// 绘制 重绘
            /// </summary>
            /// <param name="e"></param>
            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);
            }
        }

    2.3.8 编译后,将MapPanel放置到中间GroupBox中

    界面设计的差不多了,预知后事如何,请听下回分解

  • 相关阅读:
    convirt2.5在虚拟机上安装笔记
    myeclipse 自动提示JS
    Hadoop学习之HBase基础知识、操作和原理
    Hadoop学习之HBase的集群环境搭建
    学习面向对象之异常之三
    java学习面向对象之异常之二
    java学习面向对象之异常之一
    java学习面向对象之匿名内部类
    java学习面向对象之内部类
    java学习面向对象之多态
  • 原文地址:https://www.cnblogs.com/zjwno1/p/14984930.html
Copyright © 2011-2022 走看看