CustomScript

ページ

2015年12月24日木曜日

MSBuildでWPFプロジェクトをビルドする

  • VisualStudio 2015
  • C# 6.0

バッチファイルは以下の様になります。
set MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"
set SOLUTION="C:\Documents\Visual Studio 2015\Projects\MyProject\MyProject.sln"

%MSBUILD% %SOLUTION% /p:Configuration=Release /t:Clean,Build
MSBuild.exe のパスに気をつけてください。
Windowsにはいくつもの MSBuild.exe がインストールされていますが、 上記パスの MSBuild.exe を使用しないと C# 6.0 の新しい構文でエラーになります。

参考URL
http://stackoverflow.com/questions/32007871/how-to-upgrade-msbuild-to-c-sharp-6

2015年12月21日月曜日

WPF勉強(12) ComboBoxとEnum

  • WPF
  • .NET 4.5
  • C# 6.0
enumをComboBoxで使う方法です。
2パターンの実装サンプルを紹介します。

Enum名で選択する

ComboBox で選択させるためにはとにかく選択項目のリストが必要です。
Enum.GetValues() で Enum のリストを作成し、それを ItemSource としてバインドします。

対応する文字列で選択する

Enumと文字列がペアになったリストを使います。今回は Dictionary 型を使用した例になります。
Dictionary を作成し、それを ItemSource としてバインドします。 SelectedValuePath で選択されるプロパティ名、 DisplayMemberPath で表示するプロパティ名を指定します。 今回の場合は Dictionary 型なので "Key" と "Value" になります。

サンプルコード


2015年12月13日日曜日

ファイル検索ツール「RealtimeSearch」1.1 更新しました

  • WPF

ファイル検索ツール RealtimeSearch を 1.1 に更新しました。
機能は変わりません。起動直後にクリップボードが効かない現象を修正したのが主な変更点です。

2015年12月7日月曜日

アイコン作成ツール「IconMaker」1.3 に更新しました

  • WPF

アイコン作成ツール「IconMaker」を 1.3 に更新しました。

大きな変更点は以下の通りです。
  • Undo,Redo実装
  • ショートカットキー対応
  • 他のレイヤーをマスクとして使用可能
  • SVG画像全体の色を変更
ようやくツールとしての基本的な機能が一通り実装されたといった感じでしょうか。
個人的に欲しい機能は全て入っているので、当面これで安定版かなー?

2015年11月30日月曜日

ファイル検索ツール「RealtimeSearch」作ったよ

  • WPF

WPF勉強の成果物(その2)としてファイル検索ツールを作りました。

RealtimeSearch
https://bitbucket.org/neelabo/realtimesearch/wiki/




設定したフォルダ以下のファイル検索をします。
クリップボードを監視しており、他のソフト(WEBブラウザとか)のテキストをコピーするだけで検索ができるのが特徴です。

2015年11月15日日曜日

アイコン作成ツール「IconMaker」作ったよ

  • WPF

WPF勉強の成果物としてアイコン作成ツールを作りました。

IconMaker
https://bitbucket.org/neelabo/iconmaker




簡単にWindows用アプリのアイコンファイル(.ico)を作成するツールです。
WPFの機能を使ってレンダリングしているのが大きな特徴です。

Undo機能がない等、作りこみは甘いですが、お手軽アイコン作成ツールということで。


2015年11月4日水曜日

[C#] Processの標準出力が文字化けする時の対処

  • C#
  • .Net 4.5
外部コマンドを実行するには System.Diagnostics.Process を使うのですが、その標準出力を StandardOutput.ReadToEnd() でリダイレクトすると文字化けしてしまう時があります。そんな時は StartInfo.StandardOutputEncoding に標準出力の文字コードを設定します。
// サンプル
using (var process = new System.Diagnostics.Process())
{
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.CreateNoWindow = true;

    process.StartInfo.RedirectStandardOutput = true; // 標準出力リダイレクトON
    process.StartInfo.StandardOutputEncoding = Encoding.UTF8; // エンコーディング設定

    process.StartInfo.FileName = ... ;
    process.StartInfo.Arguments = ... ;

    process.Start();

    process.WaitForExit();

    string text = process.StandardOutput.ReadToEnd(); // 標準出力を得る
    :
}