| PBI实战》中,我们介绍了使用字段参数直接创建默认筛选器的用法。但是,默认的筛选器在格式设置上,其实是有一些限制的,文章里也留了个小尾巴——为啥冠军作品的筛选按钮有点儿不一样?...小勤:这里的度量切换筛选按钮怎么是圆角的?默认的筛选器好像设置不了哦! 大海:对的!这里作者为了设计上更加美观,选用了一个自定义的图表(筛选器ChicletSlicer),而没有用默认的筛选器。...这个筛选器,不仅可以简单替代原有的筛选器,格式调整更丰富,更更更有意思的是,可以用各种各样的图标做成筛选按钮,从而使得筛选器更加漂亮、直观、吸睛!...比如实例文件中的筛选按钮: 小勤:这个筛选器好啊!当筛选按钮较多的时候,通过添加logo来增加辨识度,不仅显得更加美观,而且更加方便用户使用,迅速找到自己想要的筛选条件! 大海:对的。...因为图标所在的表并不能直接筛选数据,需要通过参数表实现数据筛选,所以,我们要通过构建表间关系实现图标表对参数表的筛选,进而影响度量的计算(注意图标名称和参数名称修改成一致): 关系建好后,直接在原来筛选器的
场景:在mid加载子窗体的时候如果指定WindowState为Maximized,加载完成后主窗体会显示最大化、最小化、关闭的按钮图标。 解决方法: 1.更改主窗体FormMain的属性。...制定MainMenuStrip的属性为menuStrip1控件。menuStrip1控件就是主窗体上的菜单栏。...2.在menuStrip1控件的ItemAdded事件中添加一下代码: private void menuStrip1_ItemAdded(object sender, ToolStripItemEventArgs
,才会阻止窗体关闭和触发UserCancelling事件,这是为了更准确的区分是执行器调用Hide()隐藏等待窗体,还是用户关闭等待窗体,仅通过e.CloseReason是不可靠的,因为当用户点过关闭按钮后...但不建议通过把ControlBox=false来整个隐藏右上角那仨按钮,因为我始终认为要给用户最小化的权利,我作为用户使用其它软件的时候,是很痛恨这种限制的 等待窗体的【取消】按钮单击后不再将Enabled...先解释一下我所谓的【带等待窗体的任务执行器】是个什么鬼,就是可以用该类执行任意耗时方法(下文将把被执行的方法称为任务或任务方法),执行期间会显示一个模式等待窗体,让用户知道任务正在得到执行,程序并没有卡死...对控件进行操作,实现跨线程访问控件 任务执行期间用户可以通过点击等待窗体上的【取消】按钮(如果你让它显示的话)或点击右上角关闭按钮发出终止任务的请求(等待窗体会拦截关闭操作),其结果是执行器的UserCancelling.../false控制等待窗体上是否显示【取消】按钮之类的控件(不限于Button,取决于等待窗体的设计,所以下文不说取消按钮,说取消控件)。
Tkinter绑定了 Python 的 Tk GUI 工具集 ,就是Python 包装的Tcl代码,通过内嵌在 Python 解释器内部的 Tcl 解释器实现, Tkinter的调用转换成 Tcl 命令...,然后交给 Tcl 解释器进行解释,实现 Python 的 GUI 界面。..."3",fg="black") #在窗体上创建按钮3实例 btn1.pack(side="top") #在窗体顶端对齐设置按钮1 btn2.pack(side="top") #在窗体顶端对齐设置按钮2...") # ============================================= Layber 标签组件 l_show=Label(master,text="三酷猫:") #创建带标题的...#设置子窗体标题为OK!
() 退出整个应用程序,关闭所有窗体 this.Close() 关闭当前窗体 都会触发FormClosed事件和FormClosing事件 带图片的工具栏 属性名称 说明 displaystyle...:按钮 label:标签 SplitButton:分割按钮 DropDownButton:下拉按钮 Separator: 分割线 ComnoBox:组合框 TextBox:文本框 progressBar...当某个控件需要充满整个窗体时,设置控件的dock属性是最快捷的方式 SdI:比如记事本 Word等 mdi:多窗口应用程序 比如Excel 浏览器等 至少由连个窗口组成 包括顶级框架窗口(也叫mdi容器...)其他文档窗口(也叫子窗口) 创建mdi的步骤 1父窗体的ISMDIIContainer属性设为true 子窗体的Mdiparent属性设为父窗体 注意: 设置了MDI子窗体不能用SHowDialog(...) 建立子窗体窗口列表的步骤 设置父窗体菜单控件的mdiwindowlistItem属性选定为窗口菜单项
(2)Filter属性:用来获取或设置当前文件名筛选器字符串,该字符串决定对话框的【另存为文件类型】 或【文件类型】框中出现的选择内容。...对于每个筛选选项,筛选器字符串都包含筛选器说明、垂直线条(|)和筛选器模式。不同筛选选项的字符串由垂直线条隔开,例如: “文本文件(*.txt)|*.txt|所有文件(*.*)|*.*” 。...还可以通过用分号来分隔各种文件类型,可以将多个筛选器模式添加到筛选器中,例如: “图像文件(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG; *.GIF|所有文件(*.*)|*.*” 。...(3)FilterIndex属性:用来获取或设置文件对话框中当前选定筛选器的索引。第一个筛选器的索引为1,默认值为1。 (4)FileName 属性:用来获取在打开文件对话框中选定的文件名的字符串。...XButton按钮, 仅用于Microsoft智能鼠标浏览器) 和XButton2 (按下了第二个XButton按钮,仅用于 Microsoft智能鼠标浏览器) Clicks属性:用来获取按下并释放鼠标按钮的次数
同样和之前大灰狼和大家分享的计算器项目一样,记事本项目也可以使用很多不同的语言开发,今天大灰狼就先和大家介绍一下使用C#开发记事本的思路和流程。...C#的记事本开发需要我们定义两个窗体,也就是一个承载所有记事本的父窗体,一个具有记事本基本功能的子窗体。 . 记事本子窗体 所以我们首先来聊一下具有记事本基本功能的子窗体的开发。...函数代码如下: //保存按钮 private void toolStripButton_save_Click(object sender, EventArgs e) { //创建一个筛选器..., "警告"); } } 打开文件控件函数: 在进行文件的打开操作时,我们需要对所打开的文件进行筛选,只要求打开txt格式的文本文件即可。...FormSon son = new FormSon(); //定义子窗体的父窗体 son.MdiParent = this; //显示子窗体 son.Show(
选择一个上级元素的最后一个同类子元素 :empty 选择的元素里面没有任何内容,这里没有内容指的是一点内容都没有 :not() 否定选择器 :first-line 用于选取指定选择器的首行 :first-letter...位置筛选器,子元素筛选器,表单筛选器,内容筛选器,自定义筛选器,其他筛选器。...位置筛选器: :first :last :even :odd :eq(n) :gt(n) :lt(n) 子元素的筛选器: :first-child :last-child :first-of-type...() 结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态 .eq() 将匹配元素集合缩减为位于索引的新元素 .filter() 将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素 ....find() 获取当前匹配元素集合中的每个元素的后代,由选择器进行筛选 .first() 将匹配元素集合缩减为集合中的 第一个元素 .has() 将匹配元素集合缩减为包含特定元素的后代的集合 .is()
类型就在该命名空间下,我们知道,ICommand接口是有三个函数成员的,事件CanExecuteChanged,一个返回值bool的,且带一个参数为object的CanExecute方法,一个无返回值且带一个参数为...二.创建DelegateCommand带参命令 在创建带参的命令之前,我们可以来看看DelegateCommand的继承链和暴露出来的公共方法,详细的实现可以去看下源码 ?...五.创建复合命令 prism提供CompositeCommand类支持复合命令,什么是复合命令,我们可能有这种场景,一个主界面的不同子窗体都有其各自的业务,假如我们可以将上面的例子稍微改下,我们分为三个不同子窗体...,三个分别来显示当前年份,月日,时分秒,我们希望在主窗体提供一个按钮,点击后能够使其同时显示,这时候就有一种关系存在了,主窗体按钮依赖于三个子窗体的按钮,而子窗体的按钮不依赖于主窗体的按钮 下面是创建和使用一个...2.通过IOC容器注册其为单例 我们创建一个新的项目作为主窗体,用来显示子窗体和使用复合命令,关键部分代码如下: App.cs代码: using Prism.Unity; using Prism.Ioc
Container的继承体系在AWT编程中扮演着重要角色。 首先,所有的AWT编程相关的类都放在java.awt包以及它的子包中。...Panel默认使用FlowLayout来管理其内部组件的布局。而ScrollPane是一个带滚动条的容器,它也不能独立存在,默认使用BorderLayout来管理其内部组件布局。...; ScrollPane 是 一个带滚动条的容器,它也不能独立存在,默认使用 BorderLayout 管理其内部组件布局; 二、常见API Component作为基类,提供了如下常用的方法来设置组件的大小...在AWT 中,通过 Frame 类实例化窗体对象;默认情况下,得到的窗体既没有大小,也是不可见的;所以必须调用窗体对象的setSize()方法设置大小,调用窗体对象的setVisible()方法设置可见性...构造方法 描述 Panel() 使用默认的布局管理器实例化面板 Panel(LayoutManager layout) 使用指定的布局管理器实例化面板 import java.awt.*; public
今天我们一起来看一下WPF窗体之间的交互-窗体之间的传值。有两个窗体,一个是父窗体,一个是子窗体。要将父窗体的文本框中的值传递给子窗体中的控件。我们该怎么实现?...接下来我们一起来实现窗体之间的传值,在父窗体上我们放两个控件,一个文本框TxtMessage,另一个是按钮BtnSend.子窗体上放一个文本框TxtInput。 父窗体的界面: ?...子窗体的界面: ? 要实现传值,我们首先要在子窗体中定义一个可读可写的公用的字符串:getMessage。然后在父窗体中按下按钮的时候,定义一个字符串Message,用来存放输入框的文字。...这里我进行假设一个场景,依然还是有父子窗体,子窗体是父窗体中一个按钮的属性设置器,在子窗体中添上要设置属性的值,然后按设置完成,子窗体关闭,父窗体的相应按钮的属性也根据子窗体中的设置值而改变!...其实这里只是实现这个场景的一种方法,也是比较简单的方法,用到的知识是C#中的委托。这里演示一个最简单的例子: 下面看一下具体实现 在上一个例子中的子窗体新增一个按钮返回BtnReturn。
创建一窗体,将窗体布置如下图样子(字体对话框是组件在工具箱的对话框项中,将它拖入窗体后不显示在窗体中): 使用控件列表 控件标识 说明 btnOpenFontDialog 打开字体对话框按钮 txtFont...一、 创建一窗体,将窗体布置如下图样子(颜色对话框是组件在工具箱的对话框项中,将它拖入窗体后不显示在窗体中): 使用控件列表 控件标识 说明 btnOpenColorDialog 打开颜色对话框按钮...Filter 获取或设置当前文件名筛选器字符串,该字符串决定对话框中出现的选择内容 InitialDirectory 获取或设置文件对话框显示的初始目录 Multiselect...打开“浏览文件夹对话框”按钮 folderBrowserDialog1 浏览文件夹对话框组件 Windows窗体 SaveFileDialog 组件也是一个预先配置的对话框。...Filter 获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容 FilterIndex 获取或设置文件对话框中当前选定筛选器的索引
标签:VBA,用户窗体 这是一个很好的示例,充分展示了VBA和用户窗体控件编程技术。 示例中有一个数据工作表Sheet1,包含有一个列表,每一行的单元格中都有很多用逗号分隔的数据,如下图1所示。...图1 工作表Sheet2中列出了数据中的唯一值,如下图2所示,可以根据工作表Sheet1数据添加而更新。 图2 创建了一个用户窗体,用来进行数据筛选,如下图3所示。...图3 这个示例工作簿有以下功能: 1.按F3会运行更新代码更新工作表Sheet2中的唯一项,并以红色标注出新添加的项。 2.按F4键将调出图3所示的用户窗体。...(3)选择左侧列表框中的项后,单击“添加”按钮,将其移至右侧列表框。 (4)单击“执行”会进行筛选操作,并在工作表Sheet1中显示结果。...(5)选择右侧列表框中的项目,单击“移除”按钮,该项目会自动移至左侧列表框。 (6)单击“筛选重置”按钮会重置列表框数据和工作表筛选。
第四章 Windows窗体应用 4.2 使用Form窗体 4.2.1 窗体的常用属性 属性名 说明 Name 窗体对象名,用以在代码中标识 BackColor 窗体的背景色 Icon 窗体图标...无边框 Sizable(默认值) 可调整大小的边框 SizableToolWindow 可调整大小的工具窗体边框 4.2.1,3 控制窗体的显示位置 属性值 说明 Manual 窗体的位置由Location...首次按下某个键时 KeyUp 松开某个键时 4.3 显示消息框 1,最简单的消息框 MessageBox.Show(要显示的内容) 2,带标题的消息框 MessageBox.Show(要显示的字符串...,消息框的标题) 3,带标题,按钮的消息框 MessageBox.Show(要显示的字符串,消息框的标题,消息框按钮) 4,带标题、按钮、图标的消息框 MessageBox.Show(要显示的字符串,消息框的标题...,消息框按钮,消息框图标)
JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。...):创建一个带文本的JLabel对象,并设置文本水平对齐方式; public JLabel(String text, Icon icon, int aligment):创建一个带文本、带图标的JLabel...);//设置窗体关闭方式 setLayout(null);//使该窗体取消布局管理器设置 setBounds(100,100,400,300);//绝对定位窗体的位置与大小 Container...JTextArea ta = new JTextArea(20,50); JScrollPane sp = new JScrollPane(ta); c.add(sp); setTitle("带滚动条的文字编辑器...JOptionPane.showMessageDialog(null, "弹出对话框"); } }); c.add(jb); setTitle("创建带文字与图片的按钮
Font:根据窗体字体的大小自适应调整。Dpi:根据显示器的 DPI 缩放比例自适应调整。Inherit:继承父控件的自适应模式。...添加子窗体的方式有两种,一种是在代码中创建一个新的子窗体,另一种是在窗体设计器中创建一个子窗体控件。...以第一种方式为例,可以在MainForm窗体中添加一个按钮,点击该按钮创建一个名为ChildForm的子窗体:private void btnCreateChild_Click(object sender...在执行该代码后,点击按钮,就会在MainForm窗体中创建一个ChildForm子窗体,该子窗体可以在MainForm的客户区中移动和调整大小。...可以通过设计器界面或者代码来添加菜单和子菜单。3.通过事件处理程序响应菜单或子菜单的点击事件,可以在代码中实现对应的功能。
,同时省却了对OnShown的重写 解决子控件有时没有聚焦框(焦点虚线框)的问题。...,例如输入一些东西、点选一个item之类的,可能像这样: 完了返回原窗体并获取刚刚的输入,这样做并没有什么问题,但在几天前我突然产生了一些想法:为什么非得有板有眼的弹出一个窗体给用户呢,是不是可以在按钮附近迅速呈现一个层来做这些事呢...这样带来的问题是某些情况下的调用体验不好(体验这种事当然不是用户才有的专利,俺们码农也是人,也要讲体验的说),比如弹出的控件是让用户输入一些东西,完了用户点击某个按钮什么的返回原窗体,然后在原窗体获取用户刚刚的输入...{ /// /// 鼠标消息筛选器 /// //由于本窗体为WS_CHILD,所以不会收到在窗体以外点击鼠标的消息...//该消息筛选器的作用就是让本窗体获知鼠标点击情况,进而根据鼠标是否在本窗体以外的区域点击,做出相应处理 readonly AppMouseMessageHandler
Border(您可以去掉Border背景色,点击界面按钮试试),然后又套了一个Grid,用于放置自定义的标题栏(标题和窗体控制按钮)和BlazorWebView(用于渲染Razor组件的浏览器组件),下面是窗体控制按钮的响应事件...: 消息通知示例 图中有三个操作: 点击主窗体A的【+】按钮,发送了OpenSecondViewMessage消息,打开子窗体B; 打开子窗体B后,再点击主窗体A的【桃心】按钮,发送了SendRandomDataMessage...消息,子窗体B的第二个TabItem Header显示了消息传来的数字; 点击子窗体B的【安卓】图标按钮,给主窗体A响应了消息ReceivedResponseMessage,主窗体收到后弹出一个对话框。...5.3.1 打开多窗体 即上面的第一个操作:点击主窗体A的【+】按钮,发送了OpenSecondViewMessage消息,打开子窗体B。...5.3.2 发送业务数据 即第二个操作:打开子窗体B后,再点击主窗体A的【桃心】按钮,发送了SendRandomDataMessage消息,子窗体B的第二个TabItem Header显示了消息传来的数字
: 案例三(本文介绍的方式) 站长根据上面的开源项目 AIStudio.Wpf.Controls 做了一个自己的版本 Dotnet9WPFControls,去掉了上一步按钮、增加标题绑定、下一步按钮内容绑定...i 命名空间 主要用此命名空间下的触发器,事件触发属性更改。...ListBox子项ListBoxItem内,而引导控件GuideControl可以在ListBox的外层容器之上; GuideWindow 用于贴在目标控件所在的窗体上,GuideWindow 作为目标控件窗体的子窗体...这两种方式(GuideControl 和 GuideWindow)总体呈现效果是一样的,目标控件所在的窗体是自定义窗体,Demo能正常显示下面的效果,普通窗体需要对目标控件 Clip 的位置和提示框的位置进行偏移处理...控件带的两个新手引导Demo如下: 新手引导Demo一 GuideControl方式,站长推荐,即以控件的方式显示新手引导,点击看代码: 新手引导Demo二 GuideWindow方式,即以子窗体的方式显示新手引导
领取专属 10元无门槛券
手把手带您无忧上云