2014年12月8日月曜日

UserControlのプロパティがデザイナを閉じると消えてしまう。

UserControlを作って、プロパティを追加した場合(特にCollection系の)、デザイナでセットしたCollectioinアイテム群が、デザイナを閉じて開いてしたりした時に消えていて
ギャアァァァァ━━━━━━(゚Д゚|||)━━━━━━!!!!!!ってなる時がある。

それは、プロパティ側に一文足りないからなのです。(赤文字のとこ)
 ---------------------------------------------------------
private CustomHeader headerCells = null;
///
/// ヘッダ定義群
///
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Category("[Cutom] 列ヘッダのカスタマイズ")]
[Description("列ヘッダに表示するセル群を指定します。")]
public CustomHeader HeaderCells
{
    get { return headerCells; }
    //set { headerCells = value; }
}
 ---------------------------------------------------------


2014年10月21日火曜日

Windows7 でExcelを 常に別ウィンドウで開く方法

Windows7 にしたら、エクスプローラーのメニューが変わってもー何かてんやわんや!
何だこのクソOS!

Windwos7入れてOffice2010を入れたら、相変わらずExcelがファイル単位で別exeで起動してくれなくてフォルダオプションで設定せねばと思ったら、エクスプローラーに[ツール]メニューが無くて
フォルダオプションどこ~?ってなったけど結局無かった!!

Windows7でExcel様ファイルダブルクリックした時に、常に別プロセスで起動するようになる方法は、
こちら!

[参考サイト:http://plaza.rakuten.co.jp/mscrtf/diary/201212290000/]


レジストリをいじります。
「ファイル名を指定して実行」で「regedit」を叩きます。
以下レジストリキーを追加する前にレジストリのバックアップをお勧めします。
(やってことないけど)

<別ウィンドウで開く機能追加>
■Excel2007以降用
\HKEY_CLASSES_ROOT\Excel.Sheet.12\shell
新規キー 「別のウィンドウで開く(&W)」 -> 「command」 -> 規定)の値="C:\Program Files\Microsoft Office\Office14\EXCEL.EXE" "%1"

■Excel97-2003用
\HKEY_CLASSES_ROOT\Excel.Sheet.8\shell
 
 <規定の動作指定>
■Excel2007以降用
\HKEY_CLASSES_ROOT\Excel.Sheet.12\shell
規定の値=Open →別のウィンドウで開く(&W)

■Excel97-2003用
\HKEY_CLASSES_ROOT\Excel.Sheet.8\shell


2014年7月1日火曜日

VMWare Player でホストOSとコピー&ペーストできない時の対処法


ホストOS:Windows7
ゲストOS:Windows2008Server R2

で、イメージから2008をセットアップしたら、ホストとクリップボードが共有されない。
あれ~?ってなって調べたら、以下サイトがヒット。

参考:http://d.hatena.ne.jp/cubick/20120118

~.vmxファイルに以下追加して、再度起動してみると幸せになれるかも

isolation.tools.copy.disable = false
isolation.tools.paste.disable = false


2014年5月27日火曜日

Visual Studio2008 debug実行後の戻りが遅い時の対処

先日、ゲイツ様がWindows XPのサポートを終了されるとのお知らせを見て、
Windows7にせねば!!ということで会社のマシンをWindows7にしました。
全部キレイにセットアップしたのですが、
さー開発再会すんべーなと、VS立ち上げてデバッグしたですよ。
あぁ!動かない!!ってデバッグ終了したんだけども、なっかなかカーソルが帰ってこない。

環境は以下の通り
-------------------------
OS:Windows 7
Visual Studio 2008
言語:C# (Windowsアプリ)
-------------------------

まず、以下の情報を元に、
・スタートアップページを表示しないようにした
http://www.atmarkit.co.jp/fdotnet/dotnettips/901vsslowquit/vsslowquit.html

けどダメでしたっ

次に、プロジェクトのプロパティで「デバッグ」->[Visual Studiio ホスティングプロセスを有効にする]チェックをOFFにした。

ら、サクッとDebugモードから復帰するようになりました。

2014年5月13日火曜日

Windows2008ServerR2 SP2 インターネットアクセスなし

Windows2008ServerR2 Standard SP2 をVMPlayerで新規インストールし、
「IP自動取得」に設定したところ、社内ネットワークのPCたちとはつながるし
社内Webは参照できるが、Proxy設定してもお外がみられない。
なのでインターネッツ接続でのライセンス認証ができないではないか!
電話かけるなんてめんどくさいしWindowsUpdateもできないではないか!

で、いろいろやって再起動すると、つながった。

たぶん、以下設定じゃないかなぁ。
-------------------------------------------
1.ファイアーウォールを無効化
2.サーバマネージャの「セキュリティ情報」にある「IE ESCの構成」で、
  管理者:オフ
  ユーザ:オン
  に変更。
3.PC再起動
 -------------------------------------------
サーバマネージャ>

<IEセキュリティ構成>

2014年2月25日火曜日

[Windows CE] Form1.Show→Form2.ShowDialog→Form1.Hide の場合の注意点

基本かも知れないけども。

Form1とForm2を相互に行き来したい場合、
Fom1.ShowDialog()して
Form1.Btn1_Click() からForm2.Show()して処理が終わるまで待ち、
Form2.CloseButton_Click()されたら、
Form2.Hide()してForm1()に戻り、
またForm1.Btn1_Click()されたらさっきまで出してたForm2をShow()で再表示する処理を作成した。

Form2.CloseButton_Click()を押された時に、
自作のメッセージFormでShowDialog()して「閉じてもいーですか?」的に確認していたが、
何故かそいつがstaticな自分自身を持っていて、
それをShowDialog()し、OKやら押されたらForm.Close()で画面を閉じていた。

が、
メッセージForm.Close()
Form2.Hide()
とすると、次にForm2.Show()した時にForm2で操作ができなくなってしまった。(Activeじゃない感じで)

何でー!?と思ったら、
メッセージFormがstaticな上にDispose()されてないから前面に残ってたっぽい。

メッセージFormをShowDialog()した後、
メッセージForm.Close()
メッセージForm.Dispose()
メッセージForm = null

したら次回のForm2.Show()も正常に動作するようになった。

やめてよも~
自分クラスをstaticで持ってる意味がわかんないよ~
てかちゃんとDispose()しなさいよも~