Category Archives: C# カテゴリ "C#"のRSS  

[C#]タスクトレイアプリケーションを作る時に、最初にすること。

2012年2月24日 (カテゴリ: C#:)

1.フォームにNotifyIconと,ContextMenuStripコントロールを貼り付ける 2.NotifyIconのContextMenuStripで、先ほど追加したコントロールを選択する 3.NotifyIconのIconを設定する(忘れがちなので注意!!) 4.ContextMenuStripのメニューに”終了”を追加し、以下のコードを追加する //********************************************************************* /// <summary> プログラム終了が選択されたときのハ…


続きを読む

C#のラムダ式をチェーンさせる記法が便利!

2012年2月9日 (カテゴリ: C#:)

(この記事は,Hidden Features of C#?を参考に記述しています) C#では、バージョン3.0(Visual C# 2008)以降でサポートされた、ラムダ式というものが有ります。 ラムダ式を使うことで、関数型プログラミングっぽい記述や、デリゲート・イベントハンドラを簡潔に記述することが出来ます。 このラムダ式ですが、実は複数のラムダ式を連結(チェーン)させることが可能です。 //——————————————– // 「dx,dyを渡すと、ハンドラ関数を返す」関数 //—————————…


続きを読む

[C#]コマンドライン引数の解析ライブラリ WinGetOpt

2012年2月9日 (カテゴリ: C#:)

C#でコマンドラインプログラムを作成した際の、起動引数を解析するためのライブラリを作りました。 出来ること 以下の形式でパラメータ指定された引数を解析できます 1:key,valueの指定が可能   例: example.exe /key1 value1 /key2 value2 2:value無しで、キーだけ指定することも可能(スイッチ・フラグ等)   例: example.exe /verbose 3:普通に値だけ指定することももちろん可能   例: example.exe c:\out.txt 4:もちろん上記全部を組み合わせることも可能   例: getOrder.exe /March…


続きを読む

[C#]コンソールプログラムで、Ctrl-Cが押されてもプログラムを終了させない

2012年2月9日 (カテゴリ: C#:)

Console.CancelKeyPressにイベントを登録することで、Ctrl-Cが押されたことを検出できます。 さらに、イベントハンドラ内でCancel=trueにすることで、プログラムの終了を阻止することが可能です。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 using System;   class Test { public static void Main( String[] args ) {   Console.CancelKeyPress += (sender, …


続きを読む

C#で、hello worldをコマンドラインからコンパイルする

2012年2月9日 (カテゴリ: C#:)

C#で、hello worldをコマンドラインからコンパイルする プログラム: using System;   class Test { public static void Main( String[] args ) { System.Console.WriteLine( "hello world" ); } }using System; class Test { public static void Main( String[] args ) { System.Console.WriteLine( "hello world" ); } } …


続きを読む

doxygenを使用してC#のドキュメントを自動生成する(その2)

2012年1月9日 (カテゴリ: C#:)

前回の記事で、C#のソースコードからドキュメントの自動生成が出来るようになりました。 今回は、ソース内のクラス階層や、関数の呼び出し関係を可視化する為にグラフ(画像)を表示できるようにします。 こんな感じで、どの関数が、どの関数をコールしているかを一目で分かるようにするのが目的です。 doxygenがグラフを生成する仕組み doxygenは、自力でグラフ画像の生成することは出来ず、graphvizというソフトを利用しています。 graphvizは、AT&Tが開発したオープンソース(Common Public License ライセンス)のソフトウェアで、テキスト形式の設定ファイルより、…


続きを読む

doxygenを使用してC#のドキュメントを自動生成する(その1)

2012年1月8日 (カテゴリ: C#:)

C#では、通常の”/* */”や “//”によるコメントに加えて、”///”で始まるコメントで、XML形式のドキュメントコメントを記述することが出来ます。 具体的な例としては、下記ソースのsummary,paramや、returns等が相当します。 //*************************************************************************** /// <summary> 指定されたファイルを読み込む /// </summary> /// &…


続きを読む

BackgroundWorkerで、markdownのプレビュー処理を改善

2012年1月8日 (カテゴリ: C#:)

前回までの作業で、画面で入力したMarkdown形式テキストをその場でプレビュー可能となりました。 ただ、この方法だとテキストのサイズが小さいときは問題ないのですが、サイズが大きくなってくるとプレビューに時間が掛かるため、キー入力に対するレスポンス低下が起きてしまいます。 今回は、テキストが大量になっても入力のレスポンスが低下しないように改造してみます。 リアルタイムプレビュー時の負荷を下げる レスポンス低下の問題ですが、原因は2つ存在します。 1文字でも変更があっると都度htmlへの変換を行う為、変換頻度が高すぎる。 htmlへの変換処理をイベントハンドラ内で行っている為、変換中にキー入力が…


続きを読む

MarkdownSharp.dllの変換結果をブラウザ表示結果としてプレビューする

2012年1月6日 (カテゴリ: C#:)

前回までの記事で、C#からMarkdown形式のテキストをhtmlテキストに変換することが出来ました。 C#でmarkdown記法を使用する(1/2) C#でmarkdown記法を使用する(2/2) 今回は、このhtmlをブラウザで表示した時、どのように見えるかをプレビュー可能にします。 プログラムは、前回作成したものを改造する事とします。 ブラウザでの表示形式でプレビュー可能にする まず、フォームにWebBrowserコントロールを貼り付けます。 WebBrowserコントロールは、コモンコントロールの一番下に有ります。 名前は、今回はwebBrowser1のままにしておきます。 次に、変換…


続きを読む

markdown.dllを使用したプログラムを作成する

2011年12月31日 (カテゴリ: C#:)

MarkdownSharp.dllを使用したサンプルPGを作成 前回の記事でdllを作成しましたので、今回はdllを使用してサンプルのプログラムを作成します。 (VisualStudio2010 + .Net Framework3.0で確認しています) VisualStudioを起動し、ファイル→新規作成→プロジェクトを選択します。 テスト用のプロジェクトを作成します。 作成したプロジェクトファイル内にlibフォルダを作成し、前回作成したMarkdownSharp.dllを置きます。 ソリューションエクスプローラ→参照設定を右クリックし、参照の追加を選択し… 先ほど置いたdllを選…


続きを読む

C#のmarkdownライブラリ,MarkdownSharpを使用する

2011年12月31日 (カテゴリ: C#:)

markdown記法とは? wikiなどでよく使用されている構文です。 http://ja.wikipedia.org/ によると.. Markdown は軽量マークアップ言語のひとつである。 「読みやすく書きやすいプレーンテキストで書け、そして構造的に妥当なXHTML(もしくはHTML) に変換することのできるフォーマット」として、John GruberとAaron Swartzによって考案された。 Markdownの記法の多くは、電子メールでプレーンテキストを装飾する際の慣習から着想を得ている。Markdown は軽量マークアップ言語のひとつである。 「読みやすく書きやすいプレーンテキスト…


続きを読む

[C#]PCのサスペンド、レジュームをプログラムから検出する

2011年12月23日 (カテゴリ: C#:)

概要 ノートPCでは、バッテリー消費を抑える為に、よくPCのサスペンド・レジュームが使用されます。 C#でPCのサスペンド・レジュームが行われたことを検出する為には、Microsoft.Win32.SystemEventsクラスのPowerModeChangedイベントにハンドラを登録します。 手順 動作確認用に、画面にTextBoxを1つ貼り付けます。 PowerModeChangedイベントを使用するために、まず、以下の形でイベントハンドラの登録・解除処理を作ります。 イベントハンドラはMicrosoft.Win32.SystemEventsクラスに登録します。 //***********…


続きを読む