脱・フォームだらけ

アバター
もるも
記事: 54
登録日時: 9年前
連絡を取る:

脱・フォームだらけ

投稿記事 by もるも » 6年前

エディタの方をまた作り直し中。C#の復習にもなるし。
前のはなんでもフォームで独立させるという感じになってしまい、
使ってるときにツールボタンを押したけどフォーカスがそのフォームに移ってただけで切り替わらないとかで、
結構イライラしたのでレイアウトを変えた。
タイルセレクタは使用するタブページのみ右に固定表示にしてみた。

今年中に仕上げたいなー(><)
スクリーンショット (177).png
スクリーンショット (177).png (42.52 KiB) 閲覧数: 112 回
NumericUpDownてマウスホイールでも数値を増減できるということを初めて知った。

アバター
usao
記事: 1889
登録日時: 12年前

Re: 脱・フォームだらけ

投稿記事 by usao » 6年前

> ツールボタンを押したけどフォーカスがそのフォームに移ってただけ

あるあるですねw

メニューやツールバーは「Controlではない」ということに(何故かわざわざ)なっているがために,
他の(ボタン等の)Control類とは色々と挙動が異なるってのが非常に使いづらいんですよね.

こいつら,「僕らControlじゃないんで,他のControlからフォーカスを奪わないんすよwww」とかほざく.
そこでまたブチギレですよ.
「ControlのValidation系イベントで入力チェック書いても意味ない」という正気とは思えない仕組み.

アバター
もるも
記事: 54
登録日時: 9年前
連絡を取る:

Re: 脱・フォームだらけ

投稿記事 by もるも » 6年前

>>メニューやツールバーは「Controlではない」
( ゚Д゚)なるほど
他のツールのイベントはフォーム間でスムーズに切り替わってる・・・その違いに気付いてませんでした(笑)
ツールストリップの反応の悪さはそういう仕様だからなんですね。

>>「ControlのValidation系イベントで入力チェック書いても意味ない」という正気とは思えない仕組み.
いつか使う日のために覚えておきます(`・ω・´)
ツールストリップのテキストを扱うとなると、ブラウザのアドレス入力とかしか思いつけないですが(;^ω^)

アバター
usao
記事: 1889
登録日時: 12年前

Re: 脱・フォームだらけ

投稿記事 by usao » 6年前

> 「ControlのValidation系イベントで入力チェック書いても意味ない」

これはあれっすよ,
例えばフォーム内に,何らかの処理パラメタを指定するためのTextBoxがあって,
そこへの入力はパラメタの意味的に 1~4 に限定したいとかいう場合,
TextBoxのValidatingイベントでチェックして範囲外とかてきとーな文字列をつっぱねるコード書けば普通はそれで済む:
 Validatingに通らなければ,TextBoxから別のControlにフォーカス移動できないので
 「TextBoxに"800"とか入れた状態で処理開始ボタンを押す」みたいな操作を抑止できる.

問題は,Validatingイベントが発生するのが「TextBoxがフォーカスを失う直前」みたいなタイミングってこと.
ツールストリップボタンとかメニュー項目はValidatingを発生させずに余裕で押せちゃう.
(つまり,Validatingの仕組みでは,入力が不正な状態で処理GOしちゃうことを防げない)

アバター
もるも
記事: 54
登録日時: 9年前
連絡を取る:

Re: 脱・フォームだらけ

投稿記事 by もるも » 6年前

身近で例えるなら、C#のデザイナのプロパティの項目を移動するときにValidatingが起きてるということで良いんですかね。
それがツール、メニューだと機能しなくて不便と・・・( ..)φメモメモ