→[[.NETプログラミング]]
→FlexGrid.NET関連
#contents
*Tips [#fdd8aa80]
-[[独自のコントロールを作って、それにコレクションエディタが開くプロパティをつけたい>http://www.studio-odyssey.net/content/note/archive01.htm#e1005]]
-[[データグリッドの基礎>http://www.ailight.jp/ASPDataGrid.aspx]]
-[[.NETの新しいデータグリッドを大解剖>http://www.atmarkit.co.jp/club/print/print.php]]
-[[Get Control Properties at runtime using reflection>http://www.codeproject.com/useritems/GetControlProperties.asp]]
-[[Outlook スタイルのメニューバー(左側にある奴)>http://www.codeproject.com/cs/menu/CheatsOutlookBar.asp]]
-[[Textbox with rounded corners>http://www.codeproject.com/useritems/RoundedCornerTextbox.asp]]
-[[無効にしても見づらくならないコンボボックス>http://www.codeproject.com/cs/miscctrl/disabledcombodisplay.asp]]
-[[オープンソースのグリッドコントロール>http://www.codeproject.com/cs/miscctrl/csharpgridcontrol.asp]]
* 上下矢印キーで項目を変更できないComboBox [#t4895a28]
public class MyComboBox : System.Windows.Forms.ComboBox
{
private const int WM_KEYDOWN = 0x100;
public override bool PreProcessMessage(ref Message msg)
{
if (msg.Msg == WM_KEYDOWN)
{
//上下矢印キー操作を無効にする
Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode;
if (keyCode == Keys.Up || keyCode == Keys.Down)
return true;
}
return base.PreProcessMessage(ref msg);
}
}
*ListBoxの複数行選択 [#c7eec8f9]
-SelectionModeプロパティをMultiSimpleにする
-SelectedIndicesプロパティから選択されている行の番目を得る
*ListViewに列を追加 [#p48ca4ae]
-Columns.Add()を使う
// Set to details view.
listView1.View = View.Details;
// Add a column with width 20 and left alignment.
listView1.Columns.Add("File type", 20, HorizontalAlignment.Left);
*ListView/TreeViewの再描画抑制 [#t1a47e92]
-BeginUpdate()と EndUpdate()で囲む
*ListViewコントロールの選択行の設定/取得はどうやる? [#kcdb4bfc]
-lv.Items[i].Selected を trueにしてやる
-lv.SelectedIndicesだと取得はできるが設定はできない
-選択がシングルかマルチかのプロパティ(MultiSelect)があるので注意
-フォーカスが無いときでも選択行表示をしたいときはHideSelection=falseにする
*コントロールにバルーンTipをつける [#o0376336]
-ツールバーからToolTipを選び、フォーム上の目標コントロール(Tipを出したいコントロール)の上に落とす
-すると目標のコントールにツールチップ用のプロパティが追加される
-フォームデザイン画面の下にそのToolTipが現れるので適当に名前をつける
-ツールチップに出したい内容を目標コントロールのToolTipプロパティにセットする
*サーキュラープログレスバー [#xe110e7b]
-http://www.codeproject.com/useritems/sql2005circularprogress.asp
*チャート描画 [#h6941492]
-http://www.codeproject.com/miscctrl/High-speedCharting.asp
-[[A flexible charting library for .NET>http://www.codeproject.com/csharp/zedgraph.asp]]
-[[パネル上に3Dチャートを描くサンプル>http://www.codeproject.com/cs/miscctrl/CS3DCharting.asp]]
*ボタンの形を変えるサンプル [#ld469dd0]
-http://www.codeproject.com/useritems/Shapes_and_Regions.asp
*フォームに合わせてコントロールをリサイズするサンプル [#i371db79]
-http://www.codeproject.com/useritems/SizingDialog.asp
*透明リストボックス [#n27505cd]
-http://www.codeproject.com/combobox/TransListBox.asp
*テキストボックスの入力文字の種類や長さ、桁数などの制御 [#df8bbeab]
-[[TextBox拡張のサンプル>http://codezine.jp/a/article/aid/1083.aspx]]
-ヒント:Validatingイベント
-http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11463&forum=7
-正規表現を使った判定の例
Regex r = new Regex(@"^\d{1,2}\.\d{1,6}$|^\d{1,2}$");
if (r.IsMatch("判定文字列"))
textBox1.Text = "判定文字列";
else
(エラー処理)
*TabControlのカレントタブ [#taa74ee5]
-SelectedIndexプロパティでわかる
*TabPageのタブ幅の調整 [#o61a639b]
-Paddingプロパティに値を設定する。横幅を自動的にタブ数で三等分とかは無いらしい
*TabPageにアクセスキー(ALTショートカット)をつけたい [#qe844dc1]
-標準機能ではTabPageにアクセスキーをつけることはできない。
-どうしてもつけたければオーナードローを使う必要がある模様。
-下記ページの"Add Mnemonic support to TabPages"を参照。
-http://dotnetrix.co.uk/tabcontrols.html
-http://www.dotnet247.com/247reference/msgs/55/277509.aspx