首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术

Excel催化剂的几大辅助录入功能(数据验证保护、数据多级联动输入、关键词模糊智能匹配输入),用了一些customxmlPart技术来存储配置信息,同时关键词模糊智能匹配输入,用了一个VSTO...一般来说控件都是放到窗体任务窗格,但Excel同样支持将控件放到工作表单元格,如前面提到的picturebox容器,放到单元格区域,然后容器发图片,实现插入图片功能,同样地也可以存放单选、复选这些控件...自定义控件,可直接用到工作表单元格 具体实现原理 通过用户配置操作,将需要进行快速录入的区域记录下来,用SelectionChange事件来响应,若用户选择到这些单元格时,就激发事件方法,显示自定义控件...输入过程动态控制下方DataGridView的查找结果,用户可以按方向箭下结果中选择对应的条目,再按EnterTab键确定内容录入。...事件,例如此处的录入功能,按Enter是跳转到下一,按Tab是跳转到右侧列,实现键盘盲打录入不依赖鼠标实现。

1.3K10

一站式WPF--Window(一)

WPF的Window   WPF的Window继承于ContentControl,内部可以承载一个Content,当然,借助于ItemsControlPanel,Content也可以向下添加多个对象...路由事件沿着对象树开始向下传递,方向是一去一回,由PreviewKeyDownKeyDown。...在这个传递过程,相应的路由事件也被唤起,比如说如果此时焦点在Button,当传递到Button时还会唤起Button的ClickEvent事件等。   ...Input   路由事件是WPF处理Input的核心,简略的说就是有一去一回从PreivewKeyDown到KeyDown这个过程,PreviewKeyDown的方向是从父到子,KeyDown的方向是从子到父...PresentationCore,定义了Visual类,这个是WPF显示的核心,所有可以被显示的对象都直接间接继承自Visual。当然,这里的Visual Tree就指Visual组成的树。

22030
您找到你想要的搜索结果了吗?
是的
没有找到

用户体验细化,增强型的

当用户 input 标签中使用方向键时,有一些对应的快捷操作: 如果按的是向上向下键盘,我们要对应的加减 1 如果按的是shift并按向上向下键,我们要对应的加减 10 如果按的是alt并按向上向下键...你键盘上按下的每个键都有一个唯一的键码。向上箭头键是38向下箭头键是40。因为我不喜欢代码的魔法数字,所以我们将它们存储一个对象以便以后使用。...metaKey 对应是 Mac 是cmd键,Windows是 windows 键。...我们代码周围添加了一个if子句,以便仅在用户按向上向下键盘才执行。 当用户按向上向下键时,我们调用e.preventDefault()。 这样可以防止输入内容被更新,因为我们会自己做。...事件属性可以告诉我们。 如果在我们按下的是向上向下键的同时还按下 shift alt 键,则e.shiftKey,e.altKey的值为 true。 我们首先使用(isMac ?

85120

增强型的

当用户 input 标签中使用方向键时,有一些对应的快捷操作: 如果按的是向上向下键盘,我们要对应的加减 1 如果按的是shift并按向上向下键,我们要对应的加减 10 如果按的是alt并按向上向下键...你键盘上按下的每个键都有一个唯一的键码。向上箭头键是38向下箭头键是40。因为我不喜欢代码的魔法数字,所以我们将它们存储一个对象以便以后使用。...metaKey 对应是 Mac 是cmd键,Windows是 windows 键。...我们代码周围添加了一个if子句,以便仅在用户按向上向下键盘才执行。 当用户按向上向下键时,我们调用e.preventDefault()。 这样可以防止输入内容被更新,因为我们会自己做。...事件属性可以告诉我们。 如果在我们按下的是向上向下键的同时还按下 shift alt 键,则e.shiftKey,e.altKey的值为 true。 我们首先使用(isMac ?

61720

c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

用户删除的时候,将会引发 DataGridView.UserDeletingRow 事件。 在这个事件里,能够推断条件并取消删除操作。...// DataGridView1 的3固定 DataGridView1.Rows[2].Frozen = true; ******DataGridView 列顺序的调整 设定 DataGridView...新加行的默认值的设定 须要指定新加行的默认值的时候,能够DataGridView.DefaultValuesNeeded事件里处理。...事件处理除了能够设定默认值以外,还能够指定某些特定的单元格的ReadOnly属性等。...比起使用循环遍历,使用该事件来设定右键菜单的效率更高。可是,DataGridView使用了DataSource绑定并且是VirtualMode的时候,该事件将不被引发。

3.9K10

c语言实现2048游戏

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..."   通过字母qesc退出游戏   \n");     printf("    通过空格键可重新开始    \n");     printf("     请按任意键开始游戏     \n");     ...                }             }         }     } } /**  * 绘制游戏界面  */ void draw(void) {     int x, y;     //绘制第一横线...本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn 一篇:

2K40

可视化数据库设计软件有哪些_数据库可视化编程

2)登录到服务器,并显示服务器的数据库和系统服务,包括事件日志、消息队列、性能计数器、系统服务和SQL数据库。 3)查看关于可用Web服务的信息以及使信息可用的方法和架构。...); 第三,类型化数据集的创建(新建一个“Windows应用程序”,然后创建的项目右击,弹出的快捷菜单上选择“添加”→“新建项”命令,“模板”选择“数据集”); 第四,对已创建的数据集,单击“添加...格式: .Rows.Add(n) 其中:n表示添加的记录行数。...5.DataGridView列的编辑 单击DataGridView控件的设计器“编辑列”选项,或者DataGridView控件的“属性”面板单击Columns属性右侧的省略按钮,即可进入“编辑列...(1)添加与删除字段 “编辑列”对话框左侧显示数据表字段名,用“添加”与“移除”按钮可添加删除字段。 (2)改变字段位置 单击“改变字段位置”按钮,可改变字段在数据表控件的位置顺序。

6.7K40

前端魔法堂:屏蔽Backspace导致页面回退

如果想恢复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)

1.4K100

WinForm使用DataGridView实现类似Excel表格的查找替换

桌面程序开发过程我们常常使用DataGridView作为数据展示的表格,表格我们可能要对数据进行查找或者替换。...窗体主要是查找替换文本的值,选中的查找范围和是否能设置查找范围变量;还包括4个事件,4个事件GridDataWindow 添加用于响应操作。...查找下一个 大概的思路就是按照【选定】的当前单元格为标记,首先以当前单元格为分界线向下查找,查找的过程判断用户选择的是当前列还是整个数据表,如果是当前列只需要按查找当前列就行了。...如果是整个数据表查找则需要整行的每列都查找,如果查找到选中行查找的列就是找当前列前面的列(后面的列会在向下查找遍历到),如果不是选中行则整行从第一列开始全部列查找。...同理,向下查找的思路也就出来了。

1.7K41

DOM、BOM一些兼容性问题

后两个属性的值不光包括 CSS 设置的 width 和 height 属性值,还有设置的 border 和 padding两个属性值(即:视觉的宽度高度)。...滚轮事件中有一个属性可以判断鼠标滚轴是向下滚动的还是向上滚动的,这个属性的值是一个数值。...除了 Firefox 之外,都是有这么一个属性来表示:wheelDelta,它的值通常是 120 -120, Chrome 却是 150 和 -150。向上滚动是正值,向下滚动是负值。...),大于 0 时是向上滚动,小于 0 时是向下滚动。...例如,小写“a” 大写 “A” 将被报告为 65 keydown 和 keyup ;而在 keypress ,当按下 “Tab” 键时,会输出大写的 A “65”,不按 “Tab” 键时,按下

1.5K20

Visual Studio Code 快捷键 Mac 版

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 显示资源管理器/切换焦点 ⇧

1.6K31

Visual Studio Code快捷键

/ ⇧⌘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

8.5K20

.NET快速开发实践之应用IExtenderProvider实现控件焦点跳转

实现实体与对象的做法与例子,下面我为介绍一下管理信息系统开发中一个常用的功能,控件的输入焦点跳转,我们知道,系统为我们提供了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

656100
领券