【C#】CheckBoxのチェックがダブルクリックしないとつかない

(たぶん、遭遇する機会はほとんどないと思う・・・)

WindowsFormに配置したCheckBoxが、シングルクリックしてもチェックがON/OFFにならず、ダブルクリックするとON/OFFできるという現象に遭遇。

原因は、このチェックボックスのMouseDownイベントが実装されていたため、そちらでイベントが処理されてCheckBoxのチェックが変わらなかった。
MouseDownイベントは使っていなかったので、削除したらチェックされるようになった。

 

【SignTool】”Error: SignerSign() failed.” (-2146869243/0x80096005)エラーが発生してコードサイニング証明書を付けることができない(SECTIGO/COMODO)

エラー内容

Done Adding Additional Store
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: SignerSign() failed." (-2146869243/0x80096005)

エラーが出ないように修正したコマンド

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\signtool.exe" sign /fd sha256 /f %証明書パス% /p %証明書パスワード% /tr http://timestamp.digicert.com /d %アプリ名% %EXEパス%

ポイント:http://timestamp.sectigo.com/rfc3161ではなく、http://timestamp.digicert.comとすればOK

(参考)証明書の検証コマンド

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\signtool.exe" verify /pa "C:\temp\sample.exe"

実行結果

File: C:\temp\sample.exe
Index  Algorithm  Timestamp
========================================
0      sha256     RFC3161

Successfully verified: C:\temp\sample.exe

ポイント

【Visual Studio】フォームのデザイナを開くと「’子’ はこの親の子コントロールではありません。」エラーが発生する

継承元フォームを指定したフォームのデザイナを開いたところ、「’子’ はこの親の子コントロールではありません。」エラーが発生してデザインを変更することができない。

同じフォームを継承した別フォームは開ける。Visual Studioを再起動しても変わらず。

フォームの.Designer.csを開き、以下のような継承元に存在しているコントロールのSetChildIndexの行を削除してみたら、開くことができるようになった。

this.Controls.SetChildIndex(this.LabelTitle, 0);

なぜこうなったかの原因は不明・・・

 

 

【Visual Studio】ソリューション内の 1 つ以上のプロジェクトが正しく読み込まれていません。エラーが発生する

内容

ソリューションファイルを開くと、以下のエラーメッセージが表示され、プロジェクトが(利用不可)の状態になる

ソリューション内の 1 つ以上のプロジェクトが正しく読み込まれていません。
詳細については、出力ウィンドウを確認してください。

このメッセージをOKを押して閉じると、以下のようにエラー原因が表示される。

原因

Zipファイルを解凍せずにそのまま開いて、slnファイルをダブルクリックして実行したから。

解凍してあげればOK

 

【Visual Studio2017】コマンドラインからビルドすると「80131577」エラーが発生する

現象

devenv.exeをコマンドラインから実行し、ソースをビルドすると、
ERROR: An error occurred while validating. HRESULT = ‘80131577’
が発生してビルドに失敗する。

環境

Visual Studio 2017 Community

対処方法

必要なNuGetパッケージが存在していないのが原因。Visual Studioを起動し、NuGet パッケージの復元を行えばOK

【C#】【WindowsForms】ボタンを元の色に戻す

一度でも変更してしまうと、以下の2つのプロパティを設定しないと元に戻らない。

//ボタンの色を消す
button.BackColor = Color.Empty; //ボタンの色を変えるとfalseが設定されるため、
//既定(true)にしてスタイルを戻す
button.UseVisualStyleBackColor = true;

 

【VB.NET】RSS読み込み時、「リモート パーティがトランスポート ストリームを終了したため、認証に失敗しました。」が発生する

■現象

電光ニュースのYahooのRSS読み込み時、「System.Net.WebException: 接続が切断されました: 送信時に、予期しないエラーが発生しました。。 —> System.IO.IOException: リモート パーティがトランスポート ストリームを終了したため、認証に失敗しました。」エラーになる現象を確認。

YahooがTLS1.2より前のプロトコルに対応しなくなったことが原因。

■対応

TLS1.2を有効にするため、.NET Framework4から4.6に上げた後、RSS取得処理の前に、

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

を追加したところ、エラー無く取得できるようになった。