- PR -

Spreadのフォーカスについて

1
投稿者投稿内容
タオル
常連さん
会議室デビュー日: 2005/04/27
投稿数: 43
投稿日時: 2005-04-27 10:53
VS.NETでC#とSpreadを使用して開発をしているのですが、
グリッド内で「F1キー」が押下された時に
画面内のテキストボックス「textbox1」に
フォーカスを移動する方法があればよろしくお願いします。

FarPoint.Win.Spreadの中の
SpreadActionsメンバは参照したのですが、
フォーカス移動等が無かったので

// セル編集状態の InputMap を取得します。
f1 = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
// セルのデータを消去するシートカットキーを[C]キーに設定します。
f1.Put(new FarPoint.Win.Spread.Keystroke(Keys.F1, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearCell);
上記のサンプルを

// セル編集状態の InputMap を取得します。
f2 = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
// セルのデータを消去するシートカットキーを[C]キーに設定します。
f2.Put(new FarPoint.Win.Spread.Keystroke(Keys.I, Keys.None), this.textBox1.Focus());
のように this.textBox1.Focus()としてみましたが
動かなかったので質問させていただきました。
よろしくお願いいたします。
壱丸3
常連さん
会議室デビュー日: 2004/09/13
投稿数: 34
投稿日時: 2005-04-27 15:20
通常、そういった処理はSpreadに限らずキーイベントを利用します。
Spreadに詳しいわけではないですが、SpreadもSystem.Windows.Forms.Controlを
継承して作られているようなので同じやり方が適用できると思います。
キーイベントに関してはこちらが参考になると思います。
http://www.atmarkit.co.jp/fdotnet/dotnettips/229parentkeyproc/parentkeyproc.html

「F1キー」を使うべきかどうかは気になるところですが・・・。
(通常、F1キーはヘルプを開くときに使用されますね。)

追記
単にフォーカスを移動させるだけなら、こちらの方が簡単かもしれません。
http://www.atmarkit.co.jp/fdotnet/dotnettips/206winacckey/winacckey.html

[ メッセージ編集済み 編集者: 壱丸3 編集日時 2005-04-27 15:28 ]
タオル
常連さん
会議室デビュー日: 2005/04/27
投稿数: 43
投稿日時: 2005-04-29 19:11
壱丸3様
とても丁寧なご説明ありがとうございます。
また、こちらのお返事が遅くなってしまった事について
お詫びさせてください。
申し訳ございませんでした。

さて、早速なのですが、ご提示いただいた方法で
解決する事ができました。
本当にありがとうございました。
私はまだまだ技術者としては底辺ですが、
今後も頑張っていきたいと思います。
またご縁がございましたら
そのときはよろしくお願いいたします。
また、壱丸3様の健康をお祈りしております。
では、失礼いたします。
1

スキルアップ/キャリアアップ(JOB@IT)