找回密码
 立即注册

QQ登录

只需一步,快速开始

hsw1688

新手上路

1

主题

4

帖子

39

积分

新手上路

积分
39
  • 35

    金币

  • 主题

  • 帖子

最新发帖
hsw1688
新手上路   /  发表于:2014-2-20 10:37  /   查看:8102  /  回复:9
需求是:只能讓User用掃描槍掃入條碼,不允許對單元格進行手動輸入和粘貼。

我目前的做法是:用EditChange事件來限制輸入的次數,進而可以控制手動輸入。但是對於粘貼的話,跟掃描槍的方式是差不多的,無法分辨,如果可以識別是鍵盤輸入的話,那就可以限制粘貼了,不知道用什麽事件,如何能做到禁止粘貼,萬分感謝!!!

9 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-2-20 15:06:00
沙发
回复 1楼hsw1688的帖子

试过把单元格修改为只读,仅开放扫描枪输入?

如:

  1. fpSpread1.ActiveSheet.Protect = true;
  2. fpSpread1.ActiveSheet.LockBackColor = Color.LightCyan;
  3. fpSpread1.ActiveSheet.LockForeColor = Color.Green;
  4. FarPoint.Win.Spread.Column columnobj;
  5. columnobj = fpSpread1.ActiveSheet.Columns[0, 3];
  6. columnobj.Locked = true;
复制代码


顺便向您学习一下业务,扫描枪怎么把数据输入的?
回复 使用道具 举报
hsw1688
新手上路   /  发表于:2014-2-21 08:56:00
板凳
回复 2楼roger.wang的帖子

掃描槍跟鍵盤輸入是一樣的,只不過它讀取(寫)數據的時候速度很快而已,省去了人員的手動輸入的時間。
只讀的話,應該就不能輸入了,可不可以對單元格編輯狀態輸入數據的時間進行卡關,手輸和粘貼的時間比掃描槍慢很多。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-21 13:49:00
地板
回复 3楼hsw1688的帖子

谢谢您给介绍的扫描枪业务。

禁止粘贴,用这个代码

  1. fpSpread1.AutoClipboard = false;
复制代码
回复 使用道具 举报
hsw1688
新手上路   /  发表于:2014-2-21 15:51:00
5#
回复 4楼roger.wang的帖子

謝謝了,另外怎麼樣才能禁止單元格進入編輯狀態呢?進入編輯狀態的話,又可以先掃條碼再在後面輸入內容了。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-21 17:22:00
6#
回复 5楼hsw1688的帖子

不客气,试试这段代码:


  1.         void fpSpread1_EditModeOn(object sender, EventArgs e)
  2.         {
  3.             fpSpread1.EditMode = false;
  4.         }
复制代码
回复 使用道具 举报
hsw1688
新手上路   /  发表于:2014-2-24 10:34:00
7#
回复 6楼roger.wang的帖子

試了一下,這樣子的話,就不能輸入條碼了,有沒有辦法可以計算對一個單元格操作的時間。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-24 11:17:00
8#
回复 7楼hsw1688的帖子

抱歉,没有这样的接口。

因为我没有用过扫描枪,建议您试试从这个角度:在输入的时候的sender,有无办法判断键盘和扫描枪,如果有,则事情就简化了。
回复 使用道具 举报
借三还七
高级会员   /  发表于:2014-2-24 14:09:00
9#
能判断出输入接口是不是  用lock属性就可以操作了。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-25 15:54:00
10#
回复 9楼借三还七的帖子

楼主,按照9#的办法,能判断出输入接口吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部