Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

重塑NumericUpDownLib #201

Open
20 of 67 tasks
heartacker opened this issue Mar 31, 2024 · 0 comments
Open
20 of 67 tasks

重塑NumericUpDownLib #201

heartacker opened this issue Mar 31, 2024 · 0 comments

Comments

@heartacker
Copy link
Contributor

heartacker commented Mar 31, 2024

重塑NumericUpDownLib

  • 支持基本样式
    • 支持设置背景颜色BackGround
      • 理论上,所有控件背景都应该一直,如透明,如很多时候要以用户背景图片为背景, 只把Text区域设置为透明,会显得很突兀
    • forceground
      • Text 前景颜色和按钮等是否一直还是可以分开设置?
    • align and content align
    • 前导/后缀内容设置
  • 支持配置显示字符长度,就是 输入框长度以字符个数计算
  • 默认使用等宽字体
    • 不然在调节的时候,自动宽度下,会出现宽度抖动,比如 01 ,在很多界面字体下宽度不一样。就会再调节过程中,一直再晃动
  • 支持自定义格式显示和解析
    1. normal
    2. hex 1. fix OnFormatChange,hex/bin #175
    3. bin 1. fix OnFormatChange,hex/bin #175
  • 支持命令绑定 和事件
  • 支持点击鼠标
    1. 鼠标点击 改变上下
    2. 支持 显示上下调节按钮
    3. 禁用鼠标点击
    4. 支持显示读写按钮
    5. 支持鼠标点击读取 read/query and write/set feature and button #185
      1. 编辑状态时,不允许点击读取和快捷键读取
    6. 支持鼠标点击写入 read/query and write/set feature and button #185
      1. 当用户编辑的ing,点击写入 ValueChanged 改动
      2. 当无编辑状态,强制触发 ValueChanged 事件,
  • 支持鼠标拖拽
    • 支持禁用
  • 支持用户滚轮
    1. 支持禁用用户滚轮
  • 支持用户输入
    1. 正在编辑的解析的更新临时值,支持只读绑定,方便用户获取,正在编辑的数据
    2. 如果用户输入但是值不变不触发任何更改
    3. 支持显式触发更新, Enter
    4. 支持失去焦点触发,
      1. 并且可以配置 add IsUpdateValueWhenLostFocus #199
  • 如果用户正在编辑,但是后台恰好增在更新,如何处理
    1. 直接更新为内存的值?
    2. 保持编辑的状态,但是告诉用户后台已经更新?
  • 支持显示编辑状态
    1. 如果用户输入有效,原本值0,输入0xa,且不大于Max。不小于Min 表示ok
    2. 输入的,超过最大和最小,显示 无效
    3. 如果输入格式不对,如输入0xw,解析错误,显示无效
  • 编辑状态, Esc 快捷键应该推出编辑,并将显示的值恢复为原来的值
  • 用户编辑状态,不支持鼠标点击读写,回读
    1. 但是仅支持点击写入
    2. 这样可以修复。当用户删除所有text,点击出现报错问题
  • 支持快捷键
    1. Enter ,编辑状态下,触发更改
    2. 上下 表示为加减
    3. alt+ 上下表示加速加减
    4. ale+左,表示回读
      1. 类似点击读取按钮
    5. alt+右,表示写入
      1. 类似点击写入按钮
    6. Alt+Enter/Alt+>
      1. 编辑状态,相当于Enter, 仅仅触发更改
      2. 值不变,不处于编辑状态,强制执行写动作
  • 支持用户指定推荐 items, 方便指定预设,如 用户可以绑定 [ 1,2,4,8],推荐用户输入 这几个项目
    1. AutoCompleteBox
    2. 支持是否仅仅输入预设
  • 支持 mask
    • 读取Mask, 如 回读为 0x11, 而我的 ReadMask 为 0x3, 那么将Value 设置为 0x11&0x3 =0x1
    • 写入 mask,如我的WriteMask 为 0xFF, 如果写入值为 0x10FF, 那么将写入值,写入 0x10ff&0xff=0xff
  • 支持简单的数学计算
    1. +、-、*、/、%
    2. &、|、^、~
    3. <<、>>
    4. ()括号优先级
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant