C#

C#

参照渡しもあるが、outキーワードを用いた『出力引数』を使う方がよさそう。 http://ufcpp.net/study/csharp/sp_ref.html…と思ったけど、文字列配列を入出力しようとして問題発覚。 http://homepage3.nifty.com/midori_no_bike/CS/sample.html // Note: 関数…

表題のmsdn解説記事にも書かれているが、何とか実現できないものか。 手動でやるのはあまり難しくなく、発行されたプロジェクト/ソリューションフォルダ中の bin\Release(場合によってはDebug)\app.publish\Application Files\【アプリケーション名】_【…

かなり実用でも使ってみて、 画面ハードコピーをCntl+Alt+PrtScrで取得して、ペイントへペースト、メモとして裏紙印刷 という工程が多用されるので、この一連を機能化してみることにする。『フォームの印刷』ということになるので、すぐ見つかるだろうとたか…

constを宣言すると、インスタンスの変数としては扱えなくて、クラスの定数として公開される。インテリセンスでインスタンスの変数を探しても出てこない。配列はconstを宣言して定数に出来ないようだ。(追記;初期化が出来ない旨のコンパイルエラーが出てビ…

ツールチップはツールボックスからフォームにドラッグして出来たコントロールのインスタンスが、各コントロールのプロパティーに「toolTip1(←インスタンス名)のToolTip」として項目が増えるから、そこへ表示したいテキストを書いておけばいい。…だけならば…

TryParseの使い方

C#

返り値がboolなので if(double.TryParse(str, out dbl)) { //dblに変換後の数値が入っている。 } else { //変換に失敗した。dblには値0が入っている。 } のように使う。

ZedGraphのグラフにAddCurveしてもの再描画が、一旦別ウィンドウの下に隠れないと行なわれない。 zedGraphControl1.AxisChange(); だけではダメで、画面リフレッシュをしないといけない。探したらそのものズバリのメソッドがあった。 // Refresh to paint th…

逆の、『文字列への変換』は「ToString()」という強力なメソッドがあるので、たかをくくっていたが、『実数(double)への変換』でこんなに苦労するとは思わなかった。 double.Parse(str) はとても脆弱で落ちまくる。 ここにあるようにtryを使うか double.Tr…

C#でZedGraphを使う

VBではサンプルコードあるけど、C#ではコピペするだけでいいのが見当たらない。っていうか、公式ページに英文でさんざん懇切丁寧に書かれているような気がするんだけど、多分自分に読み解こうという気力が沸かん。で、インテリセンス頼みなんだけど、コント…

プロジェクトの持ち運びは、マイドキュメントにあるProjectsフォルダー内のプロジェクトフォルダを丸ごと持ち運びで大丈夫。どこからの発行もOK。 但し、プロジェクトを開いた時の編集状態は全てリセットされてしまうので、ソリューションエクスプローラから…

改行コード

C#

System.Environment.NewLine

C#

そこで、これまでやりたいと思っていたC#によるWindowsフォームアプリケーション上で ファイルを開くダイアログを扱ってみた。 これには経緯があって、『C#による計測制御プログラミング入門 工学・科学の現場データ収集ノウハウ』 金藤仁(技術評論社)ISBN…

グラフ画面をメインにしたデータ処理ソフトを作りたくなった。

だいぶ状況が変わったようで、ちょうどVSExpress2010出たようなので、これのC#でやってみよう。グラフのフリールールをもう一度検索しなおしてみる。 ZedGraph以外にいいのはあるだろうか?本命:MS Chart Control とりあえずツールボックスには入っている。…

スレッドタイマをLoadイベントで直接起動しても、そのうち止まってしまうので、

C#

予めフォームの公開メンバに登録したスレッドをメインメソッドから起動して、 そのスレッド中でフォーム非公開メンバのスレッドタイマを起動することで 何とか望みの動作を実現してはいた。しかし、ごくまれにフォーム終了時に base資源の破棄の際に許されな…