C#

Observerパターン

VS2010からは以下の二つのインターフェースが追加されてるんですね。IObservable<T> インターフェイスIObservable<T> インターフェイスこれで簡単にObserverパターン実装できますねー。</t></t>

オブジェクトのディープコピー

明日試してみる。こんなやり方もあるんだなー。http://d.hatena.ne.jp/HowHigh/20080324/p1

なんでだろう?

ちょっと今日はまったことのメモ。VS2005・C#でWindowsアプリを作ってたときに起きたこと。(Visual C# 2008 Express Editionで確認しても同じ現象がおきました。)Buttonクラスを継承したボタンクラスを作ろうと思って以下のように定義した。 internal clas…

Simple Factoryパターン

デザインパターンの話が最近仕事でやたら出てくるので結構忘れているのもあるし理解できていないのもあるので、再度お勉強中です。まずは簡単な、そしてよく使うSimple Factoryパターンからやってみる。2つの値を足したり引いたりかけたりわったりしてその…

SortedListとSortedDictionary

あまりSortedDictionaryはあまり使ったことがないのですが、何が違うんだろうとちょっと疑問に思ったので調べてみた。SortedList コレクション型と SortedDictionary コレクション型 第2回 ジェネリック − @IT上のリンクの下のほうにある表にある「取得は O…

なーるなんだけど

C#

以下のようなソースがある。 bool flg = true; List<string> list = new List<string>() { "abc", "bcd" }; //これはOK string result = list.Find(flg ? new Predicate<string>(delegate(string str) { return str.Contains("a"); }) : new Predicate<string>(delegate(string str) { return</string></string></string></string>…

コード定義ウィンドウ

C#

最近知りました(本格的に使い始めたのは昨日から)。とても便利です。(以下はVS2005 Professional Editionでの話です。)コード定義ウィンドウクラスやメソッドにカーソルを当てると、このウィンドウ内に定義の中身が表示されます。今までは右クリックメニ…

GraphicsPath.IsVisibleメソッド

GraphicsPath.IsVisible メソッド (Point)を見ると、 指定した点がこの GraphicsPath に含まれているかどうかを示します。 と書いてある。こんな感じで使う。 /// <summary>四角形を描画するためのGraphicsPathオブジェクト</summary> /// <remarks>PanelコントロールのPaintイベントで図</remarks>…

Matrixオブジェクトを使って

コントロールに図形を描画して移動させると、普通は下の写真の左から右みたいになる。(赤い枠は元あった位置。)これはコントロールのXY座標の各値が右下に行くほど大きくなっているから。(なんか表現が変…。)ソースはこんな感じ。 public partial class …

as

今日初めて知りました、as演算子。as変換できなかったらnullが返ってくるそうな。

宿題の途中

両側かぁ。

宿題

C#

眉毛はやっぱりなくてもいいと思うの続き。この前バイキンマンにハンマーで真上から叩かれているのを見てやる気がでました。輪郭変えただけです。GraphicsPathに楕円円弧を追加して、その後に円弧の最初と最後のポイントを取って線で結ぶと完成!こんな感じ…

わーぷ

GraphicsPath.Warp メソッド来週からはこれを使う必要がありそうだなぁ。

行列変換に関するメモ

変換の行列表現

眉毛はやっぱりなくてもいいと思う

C#

GraphicsPathオブジェクトで書いてみたの続き。口はふにゃふにゃじゃなくてもいいかなぁと思って、単純にGraphicsPath.AddArcメソッドで円弧を追加して描画しました。ちょっと画面にボタンを追加してみました。力が出ないボタンを押すと上のようになります。…

GraphicsPathオブジェクトで書いてみた

C#

眉毛はなくていいと思う。

おえかき

PictureBoxなどに図形を描画するとちらつくことがあります。コントロールのDoubleBufferedプロパティをtrueにすれば簡単にちらつきを軽減できるらしい。Control.DoubleBuffered プロパティダブル・バッファリングにより描画を行うには?あるいはControl.SetS…

縦書き

DataGridViewの列ヘッダの文字を縦書きにしたい。で、こんなの見つけました。http://pub.ne.jp/arayan/?entry_id=2090624明日試してみよう。