首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WinForm企业应用框架设计【三】框架窗体设计;动态创建菜单;

    要不是我的朋友乔乔==乔不死跟我聊到领域驱动设计~ 我也不会发现第一篇中关于“充血实体”的错误说法(至少~我写文章的时候~内心的想法是错的~) 我个人不是很喜欢领域驱动设计~感觉这种思路(我们暂且叫它思路...言归正传 一:框架窗体 先看图片  框架窗体分管布局的只有四个Panel; 上、下、左、右。(搞过EXTJS的人比较喜欢说成东、南、西、北)-_-!...可以拖动改变左右panel的宽度 这里需要注意一点 应该先把左侧panel拖进窗体,设置Dock left, 再拖一个splitter进窗体,他是天然的Dock left, 再拖右侧panel进窗体,设置...Utils.IsInDesignMode()) { InitMenu(); } } IsInDesignMode是为了判断当前的窗体是不是出于设计状态...(设计状态会执行一些代码~如果不进行处理~窗体就无法设计) 代码如下~ /// /// 判断是否为设计状态 /// </summary

    91730

    窗体UserForm

    1、什么是窗体窗体是VBA里做好了的一个与用户交互的东西,在VBA编辑器界面,点击菜单插入-用户窗体,这样就创建了一个窗体界面,在VBA编辑器里的是一个编辑界面: ?...点击运行,就可以启动窗体,这时候显示的就是一个交互界面: ?...2、窗体作用: 个人看法: 窗体主要作用就是提供了一种交互界面,让程序制作者更方便制作易用的程序,让使用者通过直接的交互界面更快的学会使用程序。...这是因为在Windows上使用的软件,基本都会有窗体的交互界面,特别是玩游戏用过外挂的人,可能会认为只有这种交互界面的才能算得上是一种软件。 3、代码编辑: 窗体和类相似,内部代码都属于这个窗体。...运行TestUserFrom,点击窗体: ?

    2.5K20

    Python GUI项目实战(一)登录窗体设计与实现

    ---- 好啦,从现在开始正式进入项目的开发吧,今天我们要做的内容是登录界面框架GUI的设计与功能实现!...) self["bg"]="royalblue" 在登录窗体中再定义一个登录主窗体跳转方法: def load_main(self): # 关闭当前窗体 self.destroy...)中,用户密码验证成功后,调用跳转主窗体的方法即可;至此,我们登录窗体就已经搭建完成了!...最后 本节我们先整体介绍了一下该项目的主要功能,然后就开始了项目的第一步:登录窗体的实现,实现了用户名和密码的校验功能,完成了登录窗体我们点击登录按钮希望能加载主窗体界面,这该如何实现呢?...下一节,我们将介绍主窗体的界面的搭建和功能的实现。 ·END·

    13.7K186

    PAGE:像Visual Studio一样设计Python GUI窗体

    虽然使用标准库tkinter开发Python GUI程序很方便,也提供了强大的功能,但是窗体上的一切都需要程序员使用代码来控制,在页面布局上浪费大量时间,确实不是很方便。...可视化开发环境,正如该软件网站所描述,PAGE - Python Automatic GUI Generator,这是个用于快速生成Python GUI程序界面的工具,可以像Visual Studio那样在窗体上拖放组件...然后到下面的网站下载并安装最新的PAGE软件, https://sourceforge.net/projects/page/ 安装过程很简单,然后就是启动这个软件了,看上去很简陋的样子,让我们先创建一个窗体并设置它的标题...然后在左侧工具箱里用鼠标单击Label组件,再在窗体上合适的位置单击鼠标,这样就可以在窗体上创建一个标签组件,用鼠标调整其大小和位置,在右侧设置其属性foreground为红色,并对字体进行简单设置:...继续在左侧工具箱单击Button组件,再在窗体上合适的位置单击鼠标,在窗体上创建一个按钮组件,并设置其text属性为“修改”,设置其command属性为onBtnModifyClick: ?

    6.4K41

    WinForm企业应用框架设计【四】动态创建业务窗体

    所有的业务窗体都继承自这个基类BaseForm 这个窗体基类有三个公开的属性 /// /// 菜单数据 /// </summary...所以我们要设置窗体的TopLevel属性 /// /// tab按钮选中事件; /// ///...,如果有是显示状态的,那么就把他隐藏掉,因为当前系统只能有一个业务窗体是出于显示状态的 接着选中TAB按钮, FormHistory的Remove和Insert主要是为了让系统记住哪些窗体是最近显示过的...(如果有的话) 重写设置tab按钮的位置(主要是被关闭的tab按钮的右边的tab按钮) 删除tab按钮 三:动态创建业务窗体 我们在上一节中只讲了子菜单的滑入和滑出事件,而没有讲单击事件 单击事件就是创建业务窗体的事件了...if (string.IsNullOrEmpty(m.Url)) { Utils.Alert("没有与此菜单相关的业务窗体

    69530

    使用线程新建WPF窗体(公用进度条窗体)

    使用线程新建窗体 项目中需要一个公用的进度条窗体.大家知道在wpf中,有两个线程,一个是UI线程,另一个是监听线程(一直监听用户的输入).如果我们后台有阻塞UI线程的计算存在,那么界面上的比如进度条什么动态的...所以我的想法就是新起一个线程来负责进度条窗体的显示与关闭,具体实现代码如下: private static Thread th; /// ///...在使用过程中发现一个很严重的问题,出现一个进度条窗体,系统内存就会增大一点,到最后要么卡死,要么自动退出.      ...在设计多线程程序时,可设置一个用于接收外部取消消息的属性,然后在线程函数中分阶段地检测这一属性,每个阶段的检查点由软件开发者确定,并且决定线程如何优雅退出。...所以对上述代码进行了改进 首先设置一个公共变量:  public static bool IsClsoeProgeressBar = true; 然后在进度条窗体中实时读这个数据 /// <summary

    2.1K100

    【例说Arm-2D界面设计】从不规则图标的显示说起

    本系列介绍的各类方法主要适用于无法负担起常规GUI协议栈(比如LVGL)的环境,如果您的条件允许,还是推荐直接使用常规GUI进行界面设计(这类GUI在底层仍然可以使用Arm-2D对一些算法进行加速)。...【背景和命题】 ---- 随便打开一部手机或是平板电脑,我们就可以很容易的看到:在现代的界面设计中,圆角矩形是搭建界面所需的重要基础要素。...大量界面设计的素材也是以PNG来保存的。 那么Arm-2D是如何应对PNG类的图片素材的呢?...为了简化用户的设计工序,Arm-2D在仓库的tools文件夹下提供了一个专门的python脚本,用于帮助用户直接将给定的图片文件转化为Arm-2D可以直接使用的tile数据结构。...在随后的文章中,我们将为您详细介绍透明蒙版所带来的的“无限可能”——为你展示其在现代界面设计中所占有的举足轻重的作用。 ----

    88520

    Python GUI项目实战(四)实现学生明细窗体GUI设计

    前言 在上一节实现主窗体信息查询功能中我们实现了在主窗体中通过单条件查询或者组合查询进行学生信息的筛选功能,系统能够在所有的数据中精确地找到某个具体的符合条件的学生信息。...在tkinter里面有一个类Tk,其功能是产生一个主窗体,我们前面每次创建窗体时都用到了它。但是在tkinter里有一个规定,应用程序同时只能运行一个主窗体。...而这里我们的主窗体一直在运行,是没有办法再加载一个主窗体(明细信息)的。如果想同时加载两个窗体,第二个窗体必须要以子窗体的形式打开,这里我们就可以使用Toplevel来创建子窗体。...所以,出现这个问题的根源所在就是:使用Tk这个类实例化一个窗体,这个窗体是一个主窗体。已经实例化了一个主窗体,再实例化一个是不可以的。所以第二个窗体必须用Toplevel实例化。...点击添加学生按钮,明细窗体标题显示“添加学生明细”;点击修改学生按钮,明细窗体标题显示“修改学生明细”;双击表格学生学生信息某一行,明细窗体标题显示“查看学生明细”。

    2.7K20

    C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用)

    本文转载:http://www.csframework.com/archive/2/arc-2-20110805-1771.htm 文章侧重点主要是讨论“窗体”与“窗体”之间方法的调用,以及“MDI父窗体...C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用) 看似一个简单的功能需求,其实很多初学者处理不好的,很多朋友会这么写: C# Code: //父窗体是是frmParent,子窗体是frmChildA...//在父窗体中打开子窗体 frmChildA child = new frmChildA(); child.MdiParent = this; child.Show(); //子窗体调父窗体方法...如果父窗体与子窗体在同一个模块内看似没有错,因为这种反向引用在同一个模块内是可行的,但程序不能这么写,你把它写死了!固化了!...假设我们的项目不断在扩展,需要将父窗体与子窗体分开在不同的模块,这段代码就完了!因为父窗体模块必须引用子窗体模块,而子窗体需要用到frmParent的类,又要引用父窗体的模块!

    8.3K20
    领券