SPREAD for Windows Forms 控制输入法
enc = System.Text.Encoding.GetEncoding("shift-jis")
datamodel = CType(FpSpread1.ActiveSheet.Models.Data, Model.DefaultSheetDataModel) Dim enc As System.Text.Encoding
Dim WithEvents datamodel As Model.DefaultSheetDataModel Private Sub datamodel_Changed(ByVal sender As Object, ByVal e As Model.SheetDataModelEventArgs) Handles datamodel.Changed
''非編集状態でクリップボードから貼り付けした場合
If e.Type = Model.SheetDataModelEventType.CellsUpdated Then
Try
If TypeOf (FpSpread1.Sheets().GetCellType(e.Row, e.Column)) Is CellType.TextCellType Then
Dim tCell As CellType.TextCellType = CType(FpSpread1.Sheets().GetCellType(e.Row, e.Column), CellType.TextCellType)
Dim s As String = CStr(datamodel.GetValue(e.Row, e.Column))
If enc.GetByteCount(s) > tCell.MaxLength Then
s = enc.GetString(enc.GetBytes(s), , tCell.MaxLength)
If enc.GetByteCount(s) > tCell.MaxLength Then
s = enc.GetString(enc.GetBytes(s), , tCell.MaxLength - )
Else
s = enc.GetString(enc.GetBytes(s), , tCell.MaxLength)
End If
datamodel.SetValue(e.Row, e.Column, s)
End If
End If
Catch
End Try
SwData =
End If
End Sub Private Sub FpSpread1_EditModeOn(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.EditModeOn
If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is FarPoint.Win.Spread.CellType.CurrencyCellType _
Or TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is FarPoint.Win.Spread.CellType.NumberCellType Then
FpSpread1.EditingControl.ImeMode = Windows.Forms.ImeMode.Off
ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is FarPoint.Win.Spread.CellType.TextCellType Then
FpSpread1.EditingControl.ImeMode = Windows.Forms.ImeMode.Hiragana
End If
End Sub Private Sub FpSpread1_EditChange(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.EditorNotifyEventArgs) Handles FpSpread1.EditChange
' 編集中の入力制御
Try
' テキスト型セルの場合
If TypeOf e.View.GetSheetView.GetCellType(e.Row, e.Column) Is CellType.TextCellType Then
Dim tCell As CellType.TextCellType = CType(e.View.GetSheetView.GetCellType(e.Row, e.Column), CellType.TextCellType)
Dim s As String = e.EditingControl.Text
If enc.GetByteCount(s) > tCell.MaxLength Then
Dim chrs As Char() = enc.GetChars(enc.GetBytes(s), , tCell.MaxLength)
If Not Char.IsLetter(chrs(chrs.Length - )) Then
Array.Resize(chrs, chrs.Length - )
End If
e.EditingControl.Text = String.Concat(chrs)
CType(e.EditingControl, CellType.GeneralEditor).SelectionStart = e.EditingControl.Text.Length
End If
End If
Catch
End Try End Sub
SPREAD for Windows Forms 控制输入法的更多相关文章
- SPREAD for Windows Forms 代码片段
'スクロールバーの移動 FpSpread1.ShowColumn(, , HorizontalPosition.Left) 'SetActiveCellの後.LeaveCellを呼び出す Dim ss ...
- SPREAD for Windows Forms 下箭头追加行
''' <summary> ''' 下矢印の動作クラス ''' </summary> ''' <remarks></remarks> Public Cl ...
- Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架
最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包.比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个 ...
- Margin and Padding in Windows Forms Controls
https://msdn.microsoft.com/en-us/library/ms229627.aspx Margin and Padding Precise placement of contr ...
- Windows Forms框架编程
<Windows Forms框架编程>节选 第九章 设计模式与原则 软件设计模式(Design pattern)是一套被反复使用的代码设计经验总结.使用设计模式是为了可重用代码.让代码 ...
- System.Windows.Forms.Control : Component, IOleControl, IOleObject, IOleInPlaceObject, IOleInPlaceActiveObject....
#region 程序集 System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ...
- DotNetBar For Windows Forms 12.5.0.2 官方原版及注册
转自原文DotNetBar For Windows Forms 12.5.0.2 官方原版及注册 DotNetBar是一款带有56个 Windows Form 控件的工具箱,使开发人员可以轻而易举地创 ...
- System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false
多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,这时如果想要访问窗口的控件,发现无法对其控制. 这时可将窗口构造函数中的CheckForIllegalCrossThreadCalls设置为f ...
- windows forms 上一个类似于wpf snoop 的工具: Hawkeye
windows forms 上一个类似于wpf snoop 的工具: Hawkeye 周银辉 WPF上有snoop这样的run time object editor让人用着很爽, 今天搜到了一个for ...
随机推荐
- Java堆外内存管理
Java堆外内存管理 1.JVM可以使用的内存分外2种:堆内存和堆外内存: 堆内存完全由JVM负责分配和释放,如果程序没有缺陷代码导致内存泄露,那么就不会遇到java.lang.OutOfMemo ...
- Android指南 - 样式和主题
本文翻译自:https://developer.android.com/guide/topics/ui/themes.html Style和theme词汇是专用术语,下文直接使用而不翻译. 样式和主题 ...
- Centos7下安装运行keepalived
master服务器ip地址:192.168.0.182 slave服务器ip地址:192.168.0.189 虚拟ip(VIP,一个尚未占用的内网ip即可)地址:192.168.0.180 确认使用 ...
- [maven] settings 文件 本地maven仓库
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- oracle PLSQL基础学习
--oracle 练习: /**************************************************PL/SQL编程基础************************** ...
- 【Python】【Flask】Flask 后台发送html页面多种方法
1.使用模板: @app.route('/') def home(): return render_template("homepage.html")#homepage.html在 ...
- win10: This file can't be opened
win10打开bat脚本,不能运行,提示This file can't be opened. 解决方法如下: http://johnklann.com/these-files-cant-be-open ...
- Linux命令_磁盘管理_查看磁盘或目录的容量
软件环境:虚拟机VM12,Linux版本 CentOS 7.3 命令 df (disk filesystem) 用于查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认以KB为单位显示 ...
- 获取select 的 val 和 text [转引]
(原文地址:http://apps.hi.baidu.com/share/detail/6152780) jQuery获取Select选择的Text和Value:语法解释:1. $("#se ...
- Java如何创建用户自定义异常?
在Java编程中,如何创建用户自定义异常? 此示例显示如何通过扩展Exception类来创建用户定义的异常. package com.yiibai; class MyException extends ...