Enterでコントロールのフォーカスを移動させる
一つのテキストボックスで入力が終わったり、ボタンでも押し終わった時にエンターで次の項目にフォーカスを充てるようにしたいときのおまじない。shiftで逆走する
- ①Formのプロパティ「keypreview」をtrueにする
- ②「keypreview」を設定したformクラスに「keydown」イベントメソッドを設定
- ③以下のコードをイベントメソッド内部に記述
- ④タブオーダーの早い順にタブが動くよ
- ※ボタン→ボタンへのフォーカス移動
- ※テキストエリアとか
①Formのプロパティ「keypreview」をtrueにする
②「keypreview」を設定したformクラスに「keydown」イベントメソッドを設定
③以下のコードをイベントメソッド内部に記述
if (e.KeyCode == Keys.Enter) { if (e.Shift) { ProcessTabKey(false); } else { ProcessTabKey(true); } }
④タブオーダーの早い順にタブが動くよ
ただしテキストに限る
※ボタン→ボタンへのフォーカス移動
「keydown」イベントではボタンから次のコントロールへのフォーカス移動ができないため、実現したい場合は「keyup」イベントを利用することになる。(書く内容は同じ)
ただ、一般的な用途を考えてボタン→ボタンとかボタン→テキストの連続操作はふつうは考えにくいのでむやみに使わないほうがよさそう。
※テキストエリアとか
③のメソッド内に「テキストエリアかどうか」を判定するロジックをつけるのがよさそう
IME変換時のエンターを受け付けてしまう場合がある様子(一行テキストボックスだと大丈夫のような)なので、テキストエリアは別キー(Altとか)を加えるなりのほうがよさげ
//現在のコントロールが複数行テキストボックスか bool isMultilineTextbox = ((this.ActiveControl is TextBoxBase) && ((TextBoxBase)this.ActiveControl).Multiline);
参考 探せばけっこういっぱいある
Enterキーを押した時、まるでTabキーを押したかのように、次のコントロールにフォーカスを移す: .NET Tips: C#, VB.NET
これは…自らかけた罠【Bash on Ubuntu on Windowsセットアップ】
本当にあえてTeratermとかVMとか開くの苦痛だしもうやってしまったけどVMの新規作成はじわじわと精神に響く ずっとwindowsしていたい気がする
ていうか今の作業cmdでできたりしないの?(できる)なんでwindowsとlinuxが必要なの?(片方だけでいい)
Bash on Ubuntu on Windowsとかがあるらしい。いや役に立つかはわからんけど
参照
Bash on Ubuntu on Windowsとは? そのインストールと使い方 - Build Insider
Bash on Ubuntu on Windowsをインストールしてみよう! - Qiita
わりとどこググっても見つかるので安心。
参照先まとめ
- 単純に開発ツールでしかないのでサーバー機能がお試し程度。運用利用はできなそう→ツール実行とか共有用には使えそう
- でもnginxもSQLサーバーも使える
- cmdかpowershellでbash.exeを起動するパターンもあるしスタートメニューでも普通に出てくるらしい
- 初回起動で日本語のまま使う場合は素直にyでよい
- 初回以降はbashコマンドでもスタートメニューのアプリケーションからでも起動できる
- アンインストールをしたい場合は管理者用poworshellで「lxrun /uninstall」
- 「lxrun /install」でアンインストールした後にユーザーごと復旧できる(コントロールパネルでアンインストールすると復旧はできない)
脳死してるとこ
たまにaptができなくて「管理ユーザでなんとかしてください」って出るとこがあった気がする(脳死のため再現しない)んだけど、管理者用のpowershellで開けばなんとかなったのだろうか、いやまさかな
windowsに対して作業するというよりも普通に仮想環境を立てる感じなので、現在操作中のwindowsのファイルやディレクトリを表示したり操作したりするのは接続でもしないかぎり無理そう
まとめ
これ、学習用でもないかぎり使わんな
ちょっとだけLinuxにさわってみたい人のための Bash on Ubuntu on Windows入門 | 中島能和 |本 | 通販 | Amazon
白石、linuxが立てられない【Ubuntu最小構成セットアップ】
ウッソだろお前とは思った
周りのおじさん達がたいていubuntuの話してるし正直CentOSにはシャチョーに大量メールを送ってしまう同期の姿が思い出されてせつなくなるのでubuntuにしよう windows様もなんだかubuntu推しだ
参考
Ubuntu 13.04の最小(CUI)インストールメモ: φ(..)メモメモ
基本的に脳死してるから言語を利用されると死ぬしなんかあえてVBを避けているのも多いので、とっても助かるゾイ
内容まとめ
- VirtualBox自体は通常通りインストールしてよい
- 最小構成のubuntuのisoファイルをダウンロしておく ダウンロしてもクリックするなよ 絶対だぞ
- 普通に仮想マシンを新規追加するぞ
- [設定]→[ストレージ]→[コントローラー:IDE(「空」になってる)]→[光学ドライブ]の隣のアイコン→[仮想光学ディスクファイルを選択]からダウンロしておいたisoを選択して作っておいた仮想マシンを再起動するぞ
- いろいろメニューが出てくるけど脳死状態で普通の「インストール」を選択していいぞ
- ホストがウィンドウズならUTC時刻設定はしていないので設定してますか?と聞かれたら「いいえ」と答えるべきなんだぞ(ここ完全脳死で完全に記憶がない)*1
しばらく小規模ツール作ったり使ったりするのに立てるだけならこれでいいような気もする でもSSH接続の許容設定は別にやらなくちゃいけないらしいので待て次回だわな~