2015-06-01から1ヶ月間の記事一覧

コントロールの背景を透過色にする

コントロールの背景を透過色にするには、 コントロールの BackColor プロパティに Color.Transparent を設定する。 using System; using System.Drawing; using System.Windows.Forms; namespace TransparentLabel { public partial class Form1 : Form { pu…

DataGridView の行や列に区切りを入れる

DataGridView の行や列に区切りを入れるときは、 DataGridViewColumn.DividerWidth DataGridViewRow.DividerHeight を設定する。 using System; using System.Windows.Forms; namespace DataGridViewDividerWidthSample { public partial class Form1 : Form…

DataGridView の描画が遅いときに気をつけること

DataGridView で、 AutoSizeColumnsMode AutoSizeRowsMode ColumnHeadersHeightSizeMode のプロパティが、自動に設定されているとき、 行や列の追加 セルに値を設定 すると、描画が遅くなる。以下の例では、50 x 50 で 9.2 秒かかった。 using System; using…

Visual Studio で長方形を選択

Visual Studio で長方形の範囲を選択するには、 Alt キー を押しながらドラッグする。

Emacs での長方形の範囲の取り扱い

Emacs では長方形の範囲を取り扱える。 たとえば以下のようなテキストで、左にある日付の部分を、右に移動したいとすると、 '1. C-@ や C-SPC (set-mark-command) で角にマークを付けて、 '2. 長方形の対角にカーソルを移動し、 '3. M-x copy-rectangle-to-r…

Emacs のキーボードマクロ

テキスト編集で同じ操作を繰り返すなら、Emacs の キーボードマクロ が便利。例えば、以下のような内容の各行をダブルクォートで囲むとすると、 C-x ( → キーボードマクロ定義開始。ステータス行に "Defining kbd macro..." と表示される。 繰り返す操作を入…

ドメイン駆動設計のユビキタス言語とモデル駆動設計

エリック・エヴァンスのドメイン駆動設計 の中心となる二つの概念のまとめ。 ユビキタス言語 プロジェクト関係者がモデルの記述に使用する共通言語。 この言語をコミュニケーションからコードまで利用する。 モデル駆動設計 解決する問題の理解とソフトウェ…

マウスやキーボードでの範囲選択

マウスやキーボードで範囲を選択する方法。 マウスでドラッグする。 のが普通だが、ボタンを押したままマウスを動かすのは大変なので、 シフトキーを押しながら、 範囲の終わりをマウスでクリック 矢印キー・Homeキー・Endキーで範囲を拡げる という方法もあ…

Enum ではなく Class を使う

Enum を使うと switch ... case ... することになる。たとえば、プログラム言語を Enum で定義して、その名前を表示する例。 using System; namespace UseClassInsteadOfEnum { public enum ProgrammingLanguageEnum { CSharp, Java, } public class ByEnum …

Visual Studio のスニペット

スニペットを使えば、決まった内容を簡単に入力できる。たとえば、C# のプロパティを作成する場合、"propfull" と入力し、TAB キーを押すと、こんなふうに展開してくれる。あとは、反転表示されている部分を編集する。 TAB キーで次の反転表示に移動 Enter …

プログラムをオブジェクト指向にするには

プログラムをオブジェクト指向にするには、 そのプログラムがなにをするか、に加えて、 それをどこにやらせるか、 が重要になる。気を付けるのは、他のクラスのプロパティを使って、いろいろ計算しているところ。次の例では、適用期間 (ApplicableTerm) クラ…

知識レベル-操作レベルを使うとき(1)

アナリシスパターンの知識レベル-操作レベルを使うときとして、 プログラムの再コンパイルなしで、 なにかの種類を増減したい。 場合がある。たとえば、測定の種類として身長や体重などがあるとする。これらがプログラムのコンパイル時点で決定できるならば…