在Excel催化剂的几大辅助录入功能中(数据验证保护、数据多级联动输入、关键词模糊智能匹配输入)中,用了一些customxmlPart技术来存储配置信息,同时在关键词模糊智能匹配输入中,用了一个VSTO...一般来说控件都是放到窗体或任务窗格中,但Excel同样支持将控件放到工作表单元格上,如前面提到的picturebox容器,放到单元格区域上,然后在容器上发图片,实现插入图片功能,同样地也可以存放单选、复选这些控件...自定义控件,可直接用到工作表单元格中 具体实现原理 通过用户配置操作,将需要进行快速录入的区域记录下来,用SelectionChange事件来响应,若用户选择到这些单元格时,就激发事件方法,显示自定义控件...输入过程中动态控制下方DataGridView的查找结果,用户可以按方向箭下上在结果中选择对应的条目,再按Enter或Tab键确定内容录入。...事件,例如此处的录入功能中,按Enter是跳转到下一行,按Tab是跳转到右侧列,实现键盘盲打录入不依赖鼠标实现。
WPF的Window WPF中的Window继承于ContentControl,内部可以承载一个Content,当然,借助于ItemsControl或Panel,Content也可以向下添加多个对象...路由事件沿着对象树开始向下传递,方向是一去一回,由PreviewKeyDown到KeyDown。...在这个传递过程中,相应的路由事件也被唤起,比如说如果此时焦点在Button上,当传递到Button时还会唤起Button的ClickEvent事件等。 ...Input 路由事件是WPF处理Input的核心,简略的说就是有一去一回从PreivewKeyDown到KeyDown这个过程,PreviewKeyDown的方向是从父到子,KeyDown的方向是从子到父...在PresentationCore中,定义了Visual类,这个是WPF显示的核心,所有可以被显示的对象都直接或间接继承自Visual。当然,这里的Visual Tree就指Visual组成的树。
当用户在 input 标签中使用方向键时,有一些对应的快捷操作: 如果按的是向上或向下键盘,我们要对应的加减 1 如果按的是shift并按向上或向下键,我们要对应的加减 10 如果按的是alt并按向上或向下键...你在键盘上按下的每个键都有一个唯一的键码。向上箭头键是38向下箭头键是40。因为我不喜欢代码中的魔法数字,所以我们将它们存储在一个对象中以便以后使用。...metaKey 对应是 Mac 上是cmd键,在Windows中是 windows 键。...我们在代码周围添加了一个if子句,以便仅在用户按向上或向下键盘才执行。 当用户按向上或向下键时,我们调用e.preventDefault()。 这样可以防止输入内容被更新,因为我们会自己做。...事件属性可以告诉我们。 如果在我们按下的是向上或向下键的同时还按下 shift 或 alt 键,则e.shiftKey,e.altKey的值为 true。 我们首先使用(isMac ?
在没有新行的时候,NewRowIndex = -1。...用户在删除行的时候,将会引发 DataGridView.UserDeletingRow 事件。 在这个事件里,可以判断条件并取消删除操作。...比起使用循环遍历,使用该事件来设定右键菜单的效率更高。但是,在DataGridView使用了DataSource绑定而且是VirtualMode的时候,该事件将不被引发。...新加行的默认值的设定 需要指定新加行的默认值的时候,可以在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。
用户在删除行的时候,将会引发 DataGridView.UserDeletingRow 事件。 在这个事件里,能够推断条件并取消删除操作。...// DataGridView1 的上3行固定 DataGridView1.Rows[2].Frozen = true; ******DataGridView 列顺序的调整 设定 DataGridView...新加行的默认值的设定 须要指定新加行的默认值的时候,能够在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了能够设定默认值以外,还能够指定某些特定的单元格的ReadOnly属性等。...比起使用循环遍历,使用该事件来设定右键菜单的效率更高。可是,在DataGridView使用了DataSource绑定并且是VirtualMode的时候,该事件将不被引发。
用户在删除行的时候,将会引发 DataGridView.UserDeletingRow 事件。 在这个事件里,可以判断条件并取消删除操作。...// DataGridView1 的上3行固定 DataGridView1.Rows[2].Frozen = true; ******DataGridView 列顺序的调整 设定 DataGridView...,可以在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。...比起 使用循环遍历,使用该事件来设定右键菜单的效率更高。但是,在DataGridView使用了DataSource绑定而且是VirtualMode的时 候,该事件将不被引发。
用户在删除行的时候,将会引发 DataGridView.UserDeletingRow 事件。 在这个事件里,可以判断条件并取消删除操作。...// DataGridView1 的上3行固定 DataGridView1.Rows[2].Frozen = true; ******DataGridView 列顺序的调整 设定 DataGridView...需要指定新加行的默认值的时候,可以在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。...比起使用循环遍历,使用该事件来设定右键菜单的效率更高。但是,在DataGridView使用了DataSource绑定而且是 VirtualMode的时候,该事件将不被引发。
int mt_rand(int, int);//随机数专用 void play(void);//游戏中 void addNumber(void);//新增数字 void keyUp(void);//向上事件...; void keyDown(void);//向下事件; void keyLeft(void);//向左事件; void keyRight(void);//向右事件; void gameOver(int..." 通过字母q或esc退出游戏 \n"); printf(" 通过空格键可重新开始 \n"); printf(" 请按任意键开始游戏 \n"); ... } } } } } /** * 绘制游戏界面 */ void draw(void) { int x, y; //绘制第一行横线...本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn 上一篇:
2)登录到服务器上,并显示服务器的数据库和系统服务,包括事件日志、消息队列、性能计数器、系统服务和SQL数据库。 3)查看关于可用Web服务的信息以及使信息可用的方法和架构。...); 第三,类型化数据集的创建(新建一个“Windows应用程序”,然后在创建的项目上右击,在弹出的快捷菜单上选择“添加”→“新建项”命令,“模板”选择“数据集”); 第四,对已创建的数据集,单击“添加...格式: .Rows.Add(n) 其中:n表示添加的记录行数。...5.DataGridView列的编辑 单击DataGridView控件的设计器中“编辑列”选项,或者在DataGridView控件的“属性”面板中单击Columns属性右侧的省略按钮,即可进入“编辑列...(1)添加与删除字段 在“编辑列”对话框左侧显示数据表字段名,用“添加”与“移除”按钮可添加或删除字段。 (2)改变字段位置 单击“改变字段位置”按钮,可改变字段在数据表控件中的位置顺序。
如果想恢复Backspace回退,则需要安装Go Back With Backspace的Extension才行。 ...在地址栏输入about:config 在搜索框输入browser.backspace_action,然后设置项目值即可。...3个可选项 0,表示Backspace和Shift+Backspace的行为对应页面回退和前进(Windows下的默认值) 1,表示Backspace和Shift+Backspace的行为对应页面向下滚动和向上滚动...如何应对 方案一:页面跳转时弹出二次确认 通过beforeunload事件实现页面跳转时弹出二次确认模态窗,让用户有后悔的机会。但会截断其他正常跳转的操作流畅性,在确实没有办法时才使用!...started false)) (defn handler "keydown事件响应函数" [e] (when started (let [evt (dom/get-evt e)
2、 需要js插件的支持 源码分析: 1、caret:实现向下的三角形,利用边框实现的 1.1、边框颜色默认是字体颜色 1.2、三角形的实现:边框要有宽度,然后相邻两边需有宽度,但颜色透明...上绑定了click事件的监听,监听类型为data-toggle=”dropdown”。...5、如果用Js插件调用,基础方法都要自己调用才行,在创建实例时只会绑定toggle事件。...8、keydown:当dropdown按钮获取焦点的时候,按下键可以展开,按上键收缩的功能 9、data-target和herf=”#id”:是为了实现单击,展开指定的下拉列表,默认是展开与按钮后面兄弟节点...id="name" > 关于我们 10、实现向上弹出子菜单
在桌面程序开发过程中我们常常使用DataGridView作为数据展示的表格,在表格中我们可能要对数据进行查找或者替换。...窗体中主要是查找替换文本的值,选中的查找范围和是否能设置查找范围变量;还包括4个事件,4个事件在GridDataWindow 中添加用于响应操作。...查找下一个 大概的思路就是按照【选定】的当前单元格为标记,首先以当前单元格为分界线向下查找,在查找的过程中判断用户选择的是当前列还是整个数据表,如果是当前列只需要按行查找当前列就行了。...如果是整个数据表查找则需要整行的每列都查找,如果查找到选中行查找的列就是找当前列前面的列(后面的列会在向下查找中遍历到),如果不是选中行则整行从第一列开始全部列查找。...同理,向下查找的思路也就出来了。
后两个属性的值不光包括 CSS 中设置的 width 和 height 属性值,还有设置的 border 和 padding两个属性值(即:视觉上的宽度或高度)。...滚轮事件中有一个属性可以判断鼠标滚轴是向下滚动的还是向上滚动的,这个属性的值是一个数值。...除了 Firefox 之外,都是有这么一个属性来表示:wheelDelta,它的值通常是 120 或 -120,在 Chrome 中却是 150 和 -150。向上滚动是正值,向下滚动是负值。...),大于 0 时是向上滚动,小于 0 时是向下滚动。...例如,小写“a” 或大写 “A” 将被报告为 65 在 keydown 和 keyup 中;而在 keypress 中,当按下 “Tab” 键时,会输出大写的 A “65”,不按 “Tab” 键时,按下
less,可以随意浏览文件内容,支持翻页和搜索,支持向上翻页和向下翻页。...-a 跳过当前屏幕搜索 -A 在目标线之后开始搜索。...字符串:向上搜索"字符串"的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ?...有关) b 向上翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一页 回车键 滚动一行 [pagedown]: 向下翻动一页 [pageup...]: 向上翻动一页 四、命令功能 less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向下移动,却不能向上移动,而且 less 在查看之前不会加载整个文件。
Option + Down 向下移动行 Option + Shift + Up 向上复制行 Option + Shift + Down 向下复制行 Command + Shift + K 删除行...Command + Enter 下一行插入 Command + Shift + Enter 上一行插入 Command + Shift + \ 跳转到匹配的括号 Command + [ 减少缩进...Ctrl + PgDown 按行向下滚动 Command + PgUp 按屏向上滚动 Command + PgDown 按屏向下滚动 Command + Shift + [ 折叠代码块 Command...Command + K Enter 保持打开 Ctrl + Tab 打开下一个 Ctrl + Shift + Tab 打开上一个 Command + K P 复制当前文件路径 Command + K R 在资源管理器中查看当前文件...取消断点 F5 开始 或 继续 F11 进入 Shift + F11 跳出 F10 跳过 Command + K Command + I 显示悬停信息 集成终端 Ctrl + 显示终端 Ctrl
Enter / ⇧⌘Enter 在下/上 插入一行 ⇧⌘\ 跳转到匹配的括号 ⌘] / ⌘[ 向左/向右 缩进当前行 Home / End 跳到当前行的头部,尾部 ⌘↑ / ⌘↓ 跳到当前行的开始,结束...⌘F2 选择当前单词的所有出现 ⌃⇧⌘→ 展开选择 ⌃⇧⌘← 收缩选择 Shift+Alt + drag mouse(拖动鼠标) 列(框)选择 ⇧⌥⌘↑ 向上列(框)选择 ⇧⌥⌘↓ 向下列(框)选择...⇧⌥⌘← 向左列(框)选择 ⇧⌥⌘→ 向右列(框)选择 ⇧⌥⌘PgUp 列(框)选择 向上一页 ⇧⌥⌘PgDown 列(框)选择 向下一页 搜索和替换 Mac 快捷键 介绍 ⌘F 查找 ⌥⌘F 替换...保存所有 ⌘W 关闭 ⌘K ⌘W 关闭所有 ⇧⌘T 重新打开已关闭的编辑器 ⌘K 输入保持打开 ⌃Tab / ⌃⇧ 选项卡打开下一个/上一个 ⌘K P 复制活动文件的路径 ⌘K R 在资源管理器中显示活动文件...⌘K O 在新窗口/实例中显示活动文件 显示 Mac 快捷键 介绍 ⌃⌘F 切换全屏 ⌥⌘1 切换编辑器布局 ⌘= / ⇧⌘- 放大/缩小 ⌘B 切换侧栏可见性 ⇧⌘E 显示资源管理器/切换焦点 ⇧
/ ⇧⌘Enter 在下/上 插入一行 ⇧⌘\ 跳转到匹配的括号 ⌘] / ⌘[ 向左/向右 缩进当前行 Home / End 跳到当前行的头部,尾部 ⌘↑ / ⌘↓ 跳到当前行的开始,结束 ⌃PgUp...⌘F2 选择当前单词的所有出现 ⌃⇧⌘→ 展开选择 ⌃⇧⌘← 收缩选择 Shift+Alt+drag mouse(拖动鼠标) 列(框)选择 ⇧⌥⌘↑ 向上列(框)选择 ⇧⌥⌘↓ 向下列(框)选择 ⇧⌥...⌘← 向左列(框)选择 ⇧⌥⌘→ 向右列(框)选择 ⇧⌥⌘PgUp 列(框)选择 向上一页 ⇧⌥⌘PgDown 列(框)选择 向下一页 搜索和替换 Mac 快捷键 说明 ⌘F 查找 ⌥⌘F 替换 ⌘...⌘K O 在新窗口/实例中显示活动文件 显示 Mac 快捷键 说明 ⌃⌘F 切换全屏 ⌥⌘1 切换编辑器布局 ⌘= / ⇧⌘- 放大/缩小 ⌘B 切换侧栏可见性 ⇧⌘E 显示资源管理器/切换焦点...⇧⌘F 显示搜索 ⌃⇧G 显示Git ⇧⌘D 显示Debug ⇧⌘X 显示扩展名 ⇧⌘H 在文件中替换 ⇧⌘J 切换搜索详细信息 ⇧⌘C 打开新命令提示符/终端 ⇧⌘U 显示输出面板 ⇧⌘V 切换Markdown
实现实体与对象的做法与例子,下面我为介绍一下在管理信息系统开发中一个常用的功能,控件的输入焦点跳转,我们知道,系统为我们提供了Tab和Shift+Tab切换输入焦点的功能,但是这里面有一个问题,即最终操作者最不习惯于使用...那么我们如何实现这样的功能,最普通的方法是处理输入控件的KeyDown事件,判读按键是否满足跳转:例如 private void tbName_KeyDown(object sender..., KeyEventArgs e) { if(e.KeyCode == Keys.Enter) //回车向下一焦点跳转 {...this.tbInputCode1.Focus(); } else if(e.KeyCode == Keys.Up) //向上键向上一焦点跳转 {...this.tbCode.Focus(); } 这样的做法,我们就必须重写所有输入控件的KeyDown事件,效率低下,也影响代码的美观,我们可以通过应用应用IExtenderProvider
在CellStyle编辑器中,可以设置奇数行和偶数行的背景颜色、字体、前景颜色等样式属性。也可以选择使用其他样式。...在按钮的单击事件中,将选中的行复制到剪贴板中,并设置了复制到剪贴板的内容类型为包含列标题的内容。...使用RowTemplate属性可以在DataGridView控件中自定义行样式。可以在DataGridView中添加多个行,每行都可以有不同的样式。...例如,对于某些行,可以设置不同的背景颜色或字体颜色等。...Step 2: 添加DataGridView控件在设计器中添加一个DataGridView控件,并在其上添加四个按钮:添加、编辑、删除和保存。
领取专属 10元无门槛券
手把手带您无忧上云