.NET

ImageListが真っ白になる件について(未解決)

Windowsのエクスプローラみたいなのを作ってます。で、プロジェクト単体では表示されるのに、他のプロジェクトから参照して起動するとTreeViewもListViewもアイコン(ビットマップ)がまったく表示されないという現象に見舞われています。エラーが出るわけじ…

XMLシリアライズ時にビットマップも含める

そのままシリアライズしても入れてくれないので、バイト配列にするためのプロパティを書く。 Load and Save objects to XML using serializationを参照。↓こんなの(一部整形) [XmlIgnoreAttribute()] public Bitmap Picture{ get { return picture; } set …

dllやexeが、.NETかどうかを調べる

MSDN2のイメージがネイティブであるか CLR であるかを確認するに方法があります(C++だけど)。もっと簡単に、上記ページのリンク先.NET ヘッダーについての情報を表示するにはdumpbinを使うこともできるみたい。

FileSystemWatcher クラス

ファイルの変更状態を監視してくれるクラス。 これで、 テキストファイルを監視 更新されてたら差分を抽出 毎日状態を保存 すれば、原稿の進み具合を擬似的に監視できそう。いやまあ、差分とかCVSとか使えばいいんだけどさ。 FileSystemWatcher クラス 指定…

PropertyGridの中にCheckBoxを入れる

やり方を発見(http://www.bobpowell.net/cbpropgrid.htm)。

VBで3項演算子

今日発見した。IIfなんて関数があったとは。いまさら分かってもなぁ。

クラスの静的(static)インスタンスをリフレクションで取得する方法

MSDNを探していたらあった。なんだNullを渡すのか。メソッド用意してほしいなあ。 静的プロパティは個別のオブジェクトではなく型に属するため、静的プロパティを取得するには、オブジェクト引数として null 参照 (Nothing) を渡します。たとえば、次のコー…

Visual Studio 2005

やっと正式版が公開されました。 http://msdn.microsoft.com/subscriptions/ 日本語版も早く出ないかしら。

NullableとNothing

.NET 2.0になって、Nullableが使えるようになりました。これはプリミティブ型にNullを入れられるジェネリックで、VB.NETでいえば、Nothingを入れることができるようになるようです。使い方は簡単、 Dim num as Nullable(of Long) = 2 のようにすればいいみた…

ショートカットキーイベント

ペーストのイベントをフックしたいのだけれど,やりかたがわからない…… 仕方ないので応急処置でキーイベントを取得してCtrl+Vのときだけ処理を噛ませることにした.ただ,これだと右クリックの貼り付けに対応できない.マウスイベントまで取得するのか. し…

Spring.NET

でぺんだんしーいんじぇくしょんとやらをやってみようかとおもったのだけど,チュートリアルを読んでも「で?」という感じ.GUIの画面とデータの分離に使えるんでしょうか? DBアクセスクラスとデータの分離には? うーむ.頭が茫洋としてきた.

突然フォームデザイナが壊れた……2

いったんフォルダ毎消して,VSSから全部を再取得したらなおりました.なんかキャッシュみたいなものが壊れたのかも知れません.あー,よかった.

突然フォームデザイナが壊れた……

ボタンとかテキストボックスとかが全部重なって,しかもラベルとかが全部消滅している.全部のコントロールが「'FONT' の宣言が重複してます」という謎のエラーとして扱われている.もちろん重複なんかしてない. わけのわからない. 閉じて開いてもなおらな…

delegete対象のメソッドの名前

GUIのユニットテストでユーザの操作をテストメソッドの中に書いています. たとえば「更新」ボタンがあるとして,Clickのイベントは,UpdateDatabase()にdelegeteされているとすると,テストメソッドにUpdateDatabase()と書くことになって,なんだかユーザ操…

OracleCommand(ODP.NET)とOleDbCommand(OleDB)のトランザクション内での挙動の違い

トランザクション内でIDbCommandを使うとき,ODP.NETのOracleCommandだとそのまま行くのですが,OleDbCommandだとIDbCommand#Transactionにトランザクションをセットしないと次の例外が投げられる模様です. Execute は、コマンドに割り当てられた接続が保留…

リストビューコントロールでファイルのドラッグ&ドロップを受け付ける

検索用→ Drag&Drop D&D ListView DragEnterとDragDropのイベントハンドラを追加. this.listView.DragDrop += new System.Windows.Forms.DragEventHandler(this.listView_DragDrop); this.listView.DragEnter += new System.Windows.Forms.DragEventHandler(…

DataGrid.DataSource プロパティ

何が設定できるんだろうと思ったら. public object DataSource {get; set;} ……objectってのがかっこわるいなー しかも 有効なデータ ソースを次に示します。 DataTable DataView DataSet DataViewManager IListSource インターフェイスを実装する任意のコン…

O/Rマッピング

.NETでO/Rマッピングするときは、DataSet使わないとダメなんだろうなあ。Adapterがちゃんと抽象化されてない気がして、うまくいかないです。 しかたないので、簡単なやつを自作することに。 CodeDomを使ってみた。以外と簡単です。

ProgressBarの描画色を変える方法

わからん……うーん,Win32 APIを呼ぶしかないのか?

属性

属性というとSerializeとか一部の用意されているものしか使ったことがなかったんですが,ちょっと自分で作ってみます.ログの書き出しなどアスペクト指向的な(こっちが正当なのかしら)使い方をしてみようかなと思いたちました. @ITを見てみる. http://ww…

ローカルコピー

参照設定で外部のDLLを使うときにローカルコピーという属性がある.trueにすると出力フォルダにdllがコピーされるらしい.再配布するときはこれをtureにしないとdllがないといわれてしまうのでtrueにしているのだけれど,その対象になっているOracleDataAcce…

DataAdapter#Fill でInvalidCastException

何が原因なのかよくわかりません.NUnitのテストクラス内で,DataDapter#Fillが「適切なキャストではありません」という例外を投げてDBからデータを取得してくれません. おなじソリューションでもテストクラスじゃないのは問題なくアクセスできて居るんだけ…

〜の問題

うおっ.すごくありがちな現象が起きてます.「〜」の文字化けです. OracleはSorarisに入っていてキャラクタセットがJA16SJISです.ところがこいつからデータを取ってくると文字化けがおきます.これはWindowsNT系が使っている,MS932というコードが「〜」…

謎エラー

ずっとコンパイル時に変なエラーが出ます.いったん落として,中間ファイルとおぼしきobjフォルダの中身を空にすると復活します.何か起動した結果リソースの解放に失敗しているならば分かりますが,コンパイルだけでどうしてこんなコトに?リソースを準備し…

NUnitがテストクラスを読まなくなりました

「予期しないトークンです。NAMEが必要です」とか言われて,読み込めなくなりました.なんかテストフィクスチャの名前が変なのかな. →たんにテストクラスのコンストラクタで例外が出てただけみたいです.メッセージボックスでエラーが表示されているので,N…

Relax NGの検証

C#からでRelax NGが使いたいのですが,どっかにライブラリないんですかね?

Assembly.LoadFrom(DLL名)を二回呼ぶと例外?

Assembly.LoadFrom()でDLLを動的にロードして,ふたたび同じことをすると例外が発生しますね(本当にこれが原因かどうかよくわからないのだけど).ロードされたDLLが削除されていないのでしょうかね.参照にnull入れてGCで無理矢理動かせば消えるのかな? …

リフレクション2

方法がいくつかあってとまどう.public class MainClass{ public void Main(){ Assembly asm = Assembly.LoadFrom("sample.dll"); Type sampleType = asm.GetType("Test.Sample.SampleClass"); if(sampleType != null){ SampleClass sampleInstance = (Sampl…

リフレクション

C#.NETで,動的にクラス名を指定してインスタンスを生成するには,Assembly.CreateInstance(TypeName)を使うみたいです. これでダイアログベースのウィザードアプリケーションを作る際に,設定ファイルを使って動的な遷移が作れそう(ようはStruts-config.x…

プルパーサ

たかはしさんから.NETのクラスライブラリにあるXMLReaderがプルパーサであることを教えていただいたので,.NETはともかくJavaのプルパーサについて調べてみることにします.といってもなかなか理解がおぼつかないけれど.プルパーサというのはSAXのように要…