前面两个章节分别介绍了两个自定义控件:自定义的ColorPicker和FlipPanel控件.接下来介绍派生自定义面板以及构建自定义绘图控件. 创建自定义面板是一种特殊但较常见的自定义控件开发子集.前面以及介绍过有关面板方面的知识,了解到面板驻留一个或多个子元素,并且实现了特定的布局逻辑以恰当地安排子元素.如果希望构建自己的可拖动的工具栏或可停靠的窗口系统,自定义面板是很重要的元素.当创建需要非标准特定布局的组合控件时,自定义面板通常很有用的,例如停靠工具栏. 接下里介绍一个基本的Canvas面…
上一章介绍了有关WPF应用程序中使用Application对象的方式,接下来看一下如何使用Application对象来处理一些更普通的情况,接下俩介绍如何初始化界面.如何处理命名行参数.如何处理支付窗口之间的交互.如何添加跟踪文档以及如何创建单示例应用程序. 一.显示初始化界面 WPF应用程序的运行速度快,但并不能在瞬间启动.当第一次启动应用程序时,会有一些延迟,因为公共语言运行时(Common Language Runtime,CLR)首先需要初始化.NET环境,然后启动应用程序. 这一延迟未…
鼠标事件执行几个关联的任务.当鼠标移到某个元素上时,可通过最基本的鼠标事件进行响应.这些事件是MouseEnter(当鼠标指针移到元素上时引发该事件)和MouseLeave(当鼠标指针离开元素时引发该事件).这两个事件都是直接事件,这意味着他们不使用冒泡和隧道过程,而是源自一个元素并且只被该元素引发.考虑到控件嵌入到WPF窗口的方式,这是合理的. 例如,如果有一个包含按钮的StackPanel面板,并将鼠标指针移到按钮上,那么首先会为这个StackPanel引发MouseEnter事件(当鼠标指…
当用户按下键盘上的一个键时,就会发生一系列事件.下表根据他们的发生顺序列出了这些事件: 表 所有元素的键盘事件(按顺序) 键盘处理永远不会像上面看到的这么简单.一些控件可能会挂起这些事件中的某些事件,从而可执行自己更特殊的键盘处理.最明显的例子是TextBox控件,它挂起了TextInput事件.对于一些按键,TextBox控件还挂起了KeyDown事件,如方向键.对于此类情形,通常仍可使用隧道路由事件(PreviewTextInput和PreviewKeyDown事件). TextBox控件还…
原文:<Programming WPF>翻译 第9章 3.自定义功能 一旦你挑选好一个基类,你将要为你的控件设计一个API.大部分WPF元素提供属性暴露了多数功能,事件,命令,因为他们从框架中获取广泛的支持,以及易于使用XAML.WPF框架对routed event和命令提供了自动支持,它的依赖属性系统提供了数据半岛和动画支持.当然,你也可以写方法--对于某一种功能,方法是最好的途径.(例如,ListBox有一个ScrollIntoView方法,保证了一个特定的项目是可见的.这时从代码中能够做…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第六十七章:内部类.嵌套类详解 下一章 "全栈2019"Java第六十八章:外部类访问内部类成员详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组…
Docker学习(六)Dockerfile构建自定义镜像 前言 通过前面一篇文章可以知道怎么去使用一个镜像搭建服务,但是,如何构造自己的一个镜像呢,docker提供了dockerfile可以让我们自己构造一个属于自己的镜像 什么是dockerfile 是一个包含用于组合镜像的命令的文本文档 Docker通过读取Dockerfile中的指令按步自动生成镜像 实战-打包自定义tomcat镜像 Dockerfile编写 mkdir -p /usr/local/docker/bk-web-dockerf…
Netty 学习(六):创建 NioEventLoopGroup 的核心源码说明 作者: Grey 原文地址: 博客园:Netty 学习(六):创建 NioEventLoopGroup 的核心源码说明 CSDN:Netty 学习(六):创建 NioEventLoopGroup 的核心源码说明 基于 JDK 的 API 自己实现 NIO 编程,需要一个线程池来不断监听端口.接收到新连接之后,这条连接上数据的读写会在另外一个线程池中进行. 在 Netty 实现的服务端中, 有如下经典代码 Event…
内容控件不仅包括基本控件,如标签.按钮以及工具提示:它们还包含特殊容器,这些容器可用于构造用户界面中比较大的部分区域. 首先介绍ScrollViewer控件,该控件直接继承自ContentControl类,提供了虚拟界面,允许用户围绕更大的元素滚动.与所有内容控件一样,ScrollViewer只能包含单个元素,虽然如此,你仍可在内部放置布局容器来保存自己需要的任意类型的元素. 此后将分析附加继承层中的另外三个控件:GroupBox.TabItem以及Expander.所有这些控件都继承自Head…
第十七章 使用BIOS进行键盘输入和磁盘读写 17.1 int 9 中断例程对键盘输入的处理 17.2 int 16 读取键盘缓存区 mov ah,0 int 16h 结果:(ah)=扫描码,(al)=ASCLL码. 17.4 应用 int 13h 对磁盘进行读写 只能以扇区为单位对磁盘进行读写. 读写扇区时,要给出面号,磁道号,扇区号.面号,磁道号从0开始,而扇区号从1开始. BIOS提供调用int 13h来访问磁盘 (ah)=int 13h的功能号//2表示读扇区,3表示写扇区 (al)=读…