文字列連結とかできるようになったので今度は画面の体裁を整えてやろうかと。。
そこで、splitContainerと、ToolStripContainerを使ってちょっとかっこいい画面を作ろうとしてみました。
あと、sdfファイルを指定するためにコモンダイアログを表示できるようにします。
■浮かせるために、ToolStripContainerを使用する
画面に配置してDock=Fillにしておきます。
これだけで、画面の上下左右にToolStripを配置することができるようになりました。
自分は、SQL入力欄をマルチラインテキストで作成し、SplitContainerの上部に、Datagridviewコントロールを下部に配置して、それをToolStripContainerに配置しました。
なので、ウィンドウ内部が上下に分割され、更に上部にツールバーがあるような画面が作れました。
ウィンドウサイズに連動してサイズが変わったり、上下分割比率をマウスのドラッグで動かせるのは非常に便利です。
ToolStripには、SQL実行コマンドボタン、SDFファイル名入力欄、パスワードの入力欄を配置します。
■パスワードテキストについて
パスワードの入力欄をToolStripに配置してみたが、いつも表示しているのでパスワード表示をしたいと思い、設定してみました。
結果的にはフォームのコンストラクタイベントで以下を指定してやればOK
※tool_passは、ToolStrip上のパスワード入力欄
tool_pass.TextBox.PasswordChar = '*';
きちんと継承して作っているからこういう事も全然できるってわけですね。
■ついでのコモンダイアログでデータファイルを選択可能に
以下のコードをToolStripのsdfファイル名入力欄の左に配置したラベルクリックイベントに記述し、表示可能になりました。
//OpenFileDialogクラスのインスタンスを作成
OpenFileDialog ofd = new OpenFileDialog();
//[ファイルの種類]に表示される選択肢を指定する
//指定しないとすべてのファイルが表示される
ofd.Filter =
"SQL Server Compact ファイル(*.sdf)|*.sdf|すべてのファイル(*.*)|*.*";
ofd.FilterIndex = 1;
//タイトルを設定する
ofd.Title = "データベースファイルの選択";
//ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
ofd.RestoreDirectory = true;
//ダイアログを表示する
if (ofd.ShowDialog() == DialogResult.OK)
{
//OKボタンがクリックされたとき
//選択されたファイル名を表示する
tool_dbfilename.Text=ofd.FileName;
}
}
うーん。。。C#すげー便利。
なんか、VBよりも使いやすいんだけど。。
■さらについでに、SQL Server Compactのテーブル一覧取得
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_TYPE = 'TABLE'
ORDER BY
TABLE_TYPE,
TABLE_NAME
というSQLで取得可能でした。
他にも、SQL Serverで使えたカタログビューなんかが使えそうな予感。
コメント