カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

匿名スレッドの実行 VisualC#

スレッドを定義します。

Thread tMain = new Thread(new ThreadStart(
    delegate()
    {
        // 実行したい処理
    }
    ));

バックグラウンドで実行するよう設定

tMain.IsBackground = true;

スレッドを開始

tMain.Start();

バックグラウンド処理からメインスレッドのメソッドや、フォームのコントロールを触りたいときは
デリゲートを使用します。以下を参考にしてください。
[デリゲート (delegate)]

1,528 views

VisualC#でMDBにアクセス

Windows7 64bit版のVisual C# 2008を使用してAccessのデータベースに
アクセスするアプリケーションを作っていたら以下のようなエラーに遭遇しました。

「’Microsoft.Jet.OLEDB.4.0′ プロバイダはローカルのコンピュータに登録されていません。」
(InvalidOperationException)

これは64bitのPCで開発することに起因するようです。
ビルドする際に32bit(x86)を対象にする必要があります。
以下、その方法です。

構成マネージャ

[ツール]-[オプション]を開きます。

左側のツリー表示に[プロジェクトおよびソリューション]-[全般]を選択します。
右側にある[ビルド構成の詳細を表示]にチェックを入れます。

※左側のツリー表示に[プロジェクトおよびソリューション]がない場合、
[すべての設定を表示]にチェックを入れます。 続きを読む…»

1,748 views

C# WebBrowserのレンダリングモード

Visual C#にてブラウザを使用したアプリケーションを作成したとき、
WEBページを表示すると表示がおかしいと思って、ユーザーエージェントを確認してみると
IE7となっていました。

環境はWindows7でIE9なのになぜだろう?と思いました。
どうやら作成したアプリケーションではレンダリングモードが「7」で実行されているようです。

解決するにはレジストリを編集し、レンダリングモードを変更してやらないといけません。

ユーザーエージェントのレジストリキー

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

レンダリングモードのレジストリキー

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_DOCUMENT_COMPATIBLE_MODE

ユーザーエージェント、レンダリングモードをIE9にするには、それぞれのレジストリキーに
ユーザーエージェントは「9000」、レンダリングモードは「90000」という値を設定します。
続きを読む…»

10,089 views

登録されているアプリケーションでファイルを実行する

System.Diagnostics.Process.Start("ファイルパス");

自動的に関連付けされているアプリケーションでファイルが開きます。

例)エクスプローラーでフォルダーを開く

System.Diagnostics.Process.Start(@"C:\My Documents");
1,789 views

C#でのEnum(列挙型)

基本となる列挙型

enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };

取り出すときはintegerにキャストする

(int)Days.Sun // 0
(int)Days.Wed // 3

続きを読む…»

2,676 views