Seasons.NET

ちょっとした技術ブログです

C#

プラグイン実装メモ(1)

プラグインのアセンブリをロードしたら、 ツールバーにアイコンで登録して、そのアイコンをクリックしたら プラグインが呼ばれるメモ。ツールバーボタンを派生して、メンバに プラグインを関連づけておく。 クリックされたら、sender = このとき押されたボタ…

列挙体の説明を取得する

C#

列挙体を何か分かりやすい文字列で表示したいときとか、 属性で[Description]付けておいて、表示する時に変換して使ったりする。 1 [TestFixture] 2 public class EnumTest 3 { 4 enum PersonType 5 { 6 [Description("俺")] me = 0, 7 [Description("あんた…

画像を拡大するときにはまった

単純な拡大を行う時は、PixelOffsetModeを設定しないと、 最初のピクセルが半ピクセルしか描画されません。 1 string filename = <ファイルフルパス>; 2 Bitmap image = new Bitmap( filename ); 3 g.PixelOffsetMode = PixelOffsetMode.HighQuality; 4 g.In…

ウィジェットを作ろう!!(1)

メモリクリーナーツールは、数あれど、どうも気に入ったものが見つからない。単純にウィジェット的な感じで綺麗なメモリ使用量ツールが欲しい。 ってなわけで作ってみた。ソース+実行ファイル付き。 ただし、実行には、.NET Framework2.0が必要。以下ソース…

ReSharper(2.5)2006/12/12現在 これは、30日間試用のみ http://www.jetbrains.com/resharper/ http://www.jetbrains.net/confluence/display/ReSharper/Nightly+BuildsReSharper Unit Test (フリー版) http://www.jetbrains.com/unitrun/index.html テストユ…

ReSharper Unit これは便利!! id:akirameiさんから教えていただいた!! NUnitも併せてインストールするべし!!http://www.jetbrains.com/unitrun/index.htmlデモを後日アップ予定。

マニフェストリソースの読み込みではまる

1 // イメージ読み込み 2 Assembly asm = this.GetType().Assembly; 3 ArrayList images = new ArrayList(); 4 string[] imageNames = asm.GetManifestResourceNames(); 5 foreach (string name in imageNames) 6 { 7 Stream stream = asm.GetManifestResour…

ノードの背景色と文字色を選択状態時の色にするには?

TreeNode Node; Node.ForeColor = Color.FromKnownColor(KnownColor.HighlightText); Node.BackColor = Color.FromKnownColor( KnownColor.Highlight ); 一度変換が必要です。

DataGridViewではまるところ

C#

DataGridViewでチェックボックスを配置していた場合、 チェックした瞬間にステータスを取りたい時がある。その場合、デフォルトのValueChangedイベントだけじゃとれない。MSDNによれば、CurrentCellDirtyStateChanged イベントを処理する方法を次のコード例…

Versionを取得するには?

C#

1 System.Diagnostics.FileVersionInfo ver = System.Diagnostics.FileVersionInfo.GetVersionInfo( 2 System.Reflection.Assembly.GetExecutingAssembly().Location); 3 // バージョン文字列を生成する 4 string version = " ver " + ver.FileVersion.ToStr…

オブジェクトのDeepCopy

C#

これ以外に何かいい方法があれば、コメント下さい。。。m( _ _ )m 1 using System; 2 using System.Collections.Generic; 3 using System.Collections; 4 using System.Text; 5 6 namespace Test 7 { 8 class CopyClass : ICloneable 9 { 10 public CopyClas…

Treeノードを編集状態にする

C#

TreeView.SelectedNode.BeginEdit(); これで選択されているノードを編集開始状態にできる。 うぉーーーーーーーーーーーーーー、楽。

ContextMenuStrip

C#

ContextMenuStripは、ぽちぽち設定して、 XXXX.ContextMenuStrip = UserContextMenuStrip;で設定完了。ちょーらくちん。

Listのコピーは、コンストラクタを使った方が楽。

C#

DeepCopyするときは、Cloneメソッドをオーバーライドすること。 1 List<string> list = new List<string>(); 2 List<string> cloneList = List<string>(list); //=> コピー(複製)作成</string></string></string></string>

リファクタリングの記事

C#

ここを参考に勉強中 http://www.microsoft.com/japan/msdn/vs05/vcsharp/VS05_refac.aspx

DataGridView

C#

一度作ったツールは、カスタムコントロールでコンボボックスや テキストボックスを配置したものを動的に作成するものを作って やっていたが、描画が糞重いので、なにかいい方法はないかと思って さがしていたら、DataGridViewを見つけた。 これは、リストビ…

作業メモ

C#

Byte配列をINT等に変換するには。 http://www.atmarkit.co.jp/fdotnet/dotnettips/045getbytes/getbytes.html構造体に配列を持たせるには、固定サイズバッファという概念 = アンセーフコード http://msdn2.microsoft.com/ja-jp/library/zycewsya.aspx配列サ…

構造体の配列を初期化するには?

C#

こんな感じでコンストラクタを用意するといいらしい。 1 private struct cellPair 2 { 3 string Cell; 4 string Text; 5 int ColorIndex; 6 int Width; 7 public cellPair(string _cell, string _text, int _clidx, int _width) 8 { 9 Cell = _cell; 10 Text…

ProcessでCygwinを操作したい!!(3)

C#

id:Ozyさんが修正してくださった例のコードでは、スレッドを用いない方法だった。 あのコードを自分なりちょっとリファクタして、整理したものをあの後作り、 動作も問題ない感じだったのですが、やはりコントロールの操作をスレッドで操作が保証されないと…

ProcessでCygwinを操作したい!!(2)

C#

今まであれこれと試した結果、ReadLine()の同期処理では、 出力がくるまで、ブロックしてしまい、結果プロセスに残ったりと 不具合がでていたので、それならば、非同期通信でエラーと出力を取ってしまおうという方針に方向転換。下のテキストボックスにコマ…

ProcessでCygwinを操作したい!!(1)

C#

id:Ozyさんと協力して調べている問題。 とりあえずメモということで。Threadの処理が甘いのは、仮組みということで 勘弁してもらって、これであれば、/home/XXX( ユーザーフォルダ ) にlogfileが作成され、出力結果が保存される。 どうも cmd.exeからたたい…

プログラミングC#言語解説 第3版作者: ジェシーリバティ,Jesse Liberty,首藤一幸,鈴木幸敏,情報技研出版社/メーカー: オライリージャパン発売日: 2004/03メディア: 単行本 クリック: 5回この商品を含むブログ (16件) を見る C#の基礎から仕組みまで理解する…

ユーザーコントロールを追加するには?

C#

「ツール」⇒「ツールボックスアイテムの選択」 ⇒「.NETコンポーネント」( 参照にて、作成した*.dllを選択する )すると、ツールボックスに独自コントロールが追加される。

フォームデザイナーの読み込みエラー

C#

以下のようなコードを書くと、 Form1よりも前に宣言されているクラスがある!! といってデザイナーが開けなくなります・・・ 8 9 namespace WindowsApplication1 10 { 11 public static class Sample 12 { 13 }; 14 public partial class Form1 : Form 15 {…

匿名メソッドの実装

C#

匿名実装について、id:NyaRuRuさんやid:yaneuraoさん、id:akirameiさんが 考察されており、とても興味深かったのでトラックバック打たせてもらいました。実装の詳細については、ここid:NyaRuRuさんによる 匿名メソッドによる再帰関数の実装について http://d…