C#

シンボリックリンク

C#

C#では、直接操作する方法がないので、DLLを使って。シンボリックリンク関連。 作成したり、パスを取得したり。 http://troyparsons.com/blog/2012/03/symbolic-links-in-c-sharp/

複数ウィンドウのモーダル処理について

C#

http://bbs.wankuma.com/index.cgi?mode=al2&namber=40380&KLOG=70

ネットワーク上にEXEを置いてのコピー

C#

ネットワーク上の共有フォルダにファイルをコピーするEXEを置いて実行したところファイルのコピー時に Security.Permissions.FileIOPermission と表示が。 セキュリテイポリシィの問題らしい。 本体の設定を変えることで解決はしそうだけれど、ローカルにコ…

コードパターン

C#

処理中はフラグを立てて、最後にフラグを落とすような処理の場合、try、finallyで書いていたほうが確実かも。 処理中に例外が発生したり、意図せず終了してしまうような場合、フラグを落とさずに別の処理になってしまうことがあるような。 コードの意図がは…

CrystalReportsのVista対応

C#

VisualSutudio2003にあるCrystalReportsを配布して使用しているアプリケーションをVistaで動作させると正しく動作しない。 これはCrystalReportsのインストールに失敗しているからっぽい。 インストーラーを管理者で実行し、すべてのユーザを選択したところ…

Trimの動作

C#

C#のStringのTrim()メソッドは引数を渡さなければ、半角スペースだけではなく、全角スペースも削除してしまう。 String baseString = "あいうえお "; String trimString; DateTime start = DateTime.Now; for( int i = 0; i { trimString = baseString.TrimE…

Lableの挙動について

C#

画面のデザインとしてボタンの代わりにラベルに画像を張り付けてボタン代りにするということもあるが、そのとき注意すべきこととして、Labelはダブルクリックのイベントも拾ってしまうことがある。 ラベルを使う場合はダブルクリックもシングルクリックのイ…

ListViewで一番右側だけ背景色を設定する

C#

Windows.FormのListViewコントロールで一番右の列だけ背景色を設定する方法 ListView list = new ListView(); // 形式を詳細に list.View = System.Windows.Forms.View.Details; ListViewItem item = new ListViewItem(); item.Text = "タイトル"; item.SubI…

StringクラスのReplace

C#

StringクラスのReplaceメソッドで'をリプレースする方法を調べる。 String test = "'"; test.Replace( "'", "''" ); ではリプレースが動作しない。 これはReplaceの戻り値が置換文字列を返すためである。 なので、正しくは String test = "'"; String str = …

DataGridで列幅をデータの内容の最長のものに変更する

C#

VB.Netだけれどサンプルがあった。 ・[HOWTO] Visual Basic .NET を使用するプログラムにより DataGrid の列幅を最長フィールドの長さに設定する方法 http://support.microsoft.com/kb/811203/ja

モーダルのダイアログを表示させると同時にそのモーダルのダイアログの子のダイアログも同時に表示する

C#

・モーダルのダイアログを表示するときに、同時に別画面を表示する - Insider.NET http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36345&forum=7&0 モーダルのダイアログの上に子ダイアログを同時に表示させるという処理をさせたいと思ったのだけ…

double型の小数点を含む掛け算

C#

double a = 0.1 * 0.1; では 0.01という値は帰ってこない。 これは丸めの誤差の関係で、意図していた値が欲しい場合には、 decimal を使用する。 decimal b = (decimal)0.1 * (decimal)0.1 ・教えて!goo C#の型について(doubleとdecimal) http://oshiete1…

Hashtableに対してのforeach文

C#

ArrayListと同様には使えない Hashtable table = new Hashtable (); table.add( "aaa", "あああ" ); foreach ( DictionaryEntry item in table) { Console.Out.WriteLine( item.Value ); }

All Userのスタートメニューのパスの取得

C#

C#で特殊フォルダを使用する場合は、 System.Environment.GetFolderPath( (Environment.SpecialFolder.System) ) というようにEnvironmentを使用するが、全ての特殊フォルダは取得できない。 All Userのスタートメニューのパスはこのメソッドは取得すること…

Officeの操作

C#

C#からオフィスを操作するとプロセスが残ってしまう場合があるらしい。 ・Visual Studio .NET クライアントで自動化した Office アプリケーションが終了しない http://support.microsoft.com/default.aspx?scid=kb;ja;317109

リファレンス化するコメント

C#

・Visual C# .NETでAPIリファレンスを作る(前編) http://www.atmarkit.co.jp/fdotnet/teamdev/teamdev01/teamdev01_01.html C#ではコメントをうまくつけることでAPIリファレンスを作成することができる。 うまくコメントをつけることで見やすいリファレン…

コード標準

C#

・C#コーディング標準 http://www.kawabata.com/dotnet/CodingStdCS.pdf

インストーラー関連

C#

・作成したインストーラーで、「既にべつのバージョンの製品がインストールされています。」と表示される http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=13926&rev=&no=0 VisualStudioで作成したインストーラーでのトラブルの回避方法。

foreach

Collectionに含まれている値を取得する方法 Stringクラスのコレクションの場合 C#は foreach( String value in collection ){ } と記述する。 Javaは5から使用可能になった。 for( Object value:collection ){ ( String ) value---- } と記述する。

C#3.0の機能まとめ

C#

どういったところが違うのかがまとめられているページ http://www.users.gr.jp/blogs/hidori/archive/2005/09/15/14873.aspx

.NET版CrystalReportsを配布するためには

C#

アプリケーションとしては、CrystalReportsを含んだシステムを配布するためには、インストーラーでCrystalReportsのマージモジュール、ランタイムを配布する必要がある。 以下、参考。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/…

ソケットプロミング

C#

ソケットプログラミング http://www.stackasterisk.jp/tech/dotNet/csharp08_01.jsp VBだったら結構大変だったソケットも比較的簡単。[CORBA]TAOインストール http://www.02.246.ne.jp/~torutk/cxx/corba/tao/install.html TAOのインストール方法、C++用のCO…

とJava

ObjectClub - Java プログラマのためのC# 考察 -- 言語仕様の比較 http://www.objectclub.jp/technicaldoc/c/cs_vs_java Javaもバージョンアップがあったので、若干古いところもある。 二つの言語的構造はどんどん近づいていくんだと思う。 仕事で二つの言語…

C#

コレクションを開放するスピード ArrayListを初期化する場合に インスタンスをClear()メソッドでクリアする場合と = new ArrayList() で再生成する場合とで処理速度でどのくらい差があるかというと・・・ このソースで ArrayList list = new ArrayList(); fo…