ListView

[C#] ListView.Items.Addの描画処理が異常に重くてハマった

ListViewコントロールで、詳細表示(ViewプロパティをDetails)し、アイテムを追加していくと描画処理が異常に重くなる現象が発生。 この問題を解決するのに少しハマったので覚書としてメモっておく。 自作ソフトRSS速報のListView表示で、数十件の項目を表示するのに数分かかることもある。 描画時にGUIがほぼ固まってしまう。 遅い処理部分をデバッグで調べてみると、 の行で、数秒が掛かっている。 しかも、件数が増えれば増えるほど遅くなっていく。

[C#] ListView.Items.Addの描画処理が異常に重くてハマった Read More

[C#] 送るメニューにショートカットを登録/解除する方法

エクスプローラーなどでファイルを右クリックしたときに出てくる「送る」メニュー。 この送るメニューにアプリケーションを登録しておくと、選択したファイルの情報を アプリケーションに渡して起動できるため、使い方によっては便利な機能。 例えば、logファイルを”メモ帳”に送って起動するといったことができる。 関連記事 Windows10インストールと、アプリ動作確認 WSH JScriptでファイル一覧結果をExcelで表示 Visual Studio 2022でインストーラ作成 コントロール配列 [DeAGOSTINI]週刊マクラーレンホンダMP4/4に挑戦(17号) F1 …

[C#] 送るメニューにショートカットを登録/解除する方法 Read More
霜

GIMP2で作成したサンプルロゴ集

ごくたまに画像ロゴを作成するためにGIMPを使用する。 割と簡単にカッコいいロゴを作れるため重宝している。   だけど、そこそこ種類があって、どのメニューがどういうロゴだか忘れてしまう。 なので備忘録的にGIMP2.8のサンプル ロゴ画像を載せておくことに。   と、その前にロゴ作成方法。 GIMPを起動 [ファイル]→[画像の生成]→[ロゴ]メニュー配下の任意のサブメユーを選択。 関連記事 使い捨て感覚でWindowsを使用できる「Windows Sandbox」を使ってみた [C#] ListView.Items.Addの描画処理が異常に重くてハマった [UiPath] …

GIMP2で作成したサンプルロゴ集 Read More
C#でExcelファイルを読み書きするプログラム

[C#] Excelを使ったプログラムとインストーラの作成

C#でExcelファイルを読み書きするプログラムと、そのプログラム(exe)を配布するためのインストーラを作ってみた。 何故態々インストーラを作成するのか? それは、作成したExcelを使ったプログラムは、exeの配布だけでは他のPCでは動かないため。 Excel関連のDLLも一緒に配布する必要がある。 例えば、前に作成したサンプルアプリの場合、配布時は以下のDLLが必要。 Microsoft.Office.Interop.Excel.dll Microsoft.Vbe.Interop.dll office.dll stdole.dll   ⇒これ、後から気づいたけど実は認識誤り(. …

[C#] Excelを使ったプログラムとインストーラの作成 Read More
WebBrowserコントロールで実行

[C#] WebBrowserコントロールのレンダリングモードをデフォルトのIE7から最新IEモードに変更する

C#やVB.NETなどのアプリケーションで、WebサイトやHTMLなどを表示したい場合に使うWebBrowserコントロール。 このWebBrowserコントロールを使えば、簡単にInternet Explorer同等のWebページを表示できる。 でも、最近このWebBrowserコントロールで表示崩れが増えてきたような気がする。 例えば、ここのホームページを表示すると、メニューのスタイルが崩れてしまう。   ↓WebBrowserコントロールで表示   関連記事 Windows10インストールと、アプリ動作確認 コントロール配列 HTML内のRSS情報を取得する WSH …

[C#] WebBrowserコントロールのレンダリングモードをデフォルトのIE7から最新IEモードに変更する Read More
テストメッセージ

リモートPCにメッセージボックスを表示してみる

Windows NT/2000/XPの頃、NET SENDコマンドを使って、簡単に他のPCに対してメッセージボックスを通知することができた。 送られてきた方は、急にメッセージボックスが表示され、結構ビビるのだが。 昔、この仕組みというかサービスを利用したフリーソフトを作ったこともあった。 でも、Windows XPでは、”Messenger”サービスが起動していないと使えなくなり(デフォルトは停止)、更にVista以降では、”Messenger”サービス自体が消え、この方法でメッセージ通知することができなくなった。   その代わりに、I …

リモートPCにメッセージボックスを表示してみる Read More
Google Chromeで保存したパスワードは丸見え!?

Google Chromeで保存したパスワードは丸見え!?

Google Chromeでは、保存したパスワードが見えてしまう。 これはあくまでもChromeのバグではなく仕様らしい。 関連記事 ガジェットはどうやって作る? RSS速報をメジャーバージョンアップ予定 ポケモンGO レベルアップ予想計算ページを作ってみた 各電力会社の電力使用状況をアナログメーター表示できるよう対応してみた 楽天がついにAPI公開!? 撮りためていた動画の分割、一括変換、日時修正をやってみた

Google Chromeで保存したパスワードは丸見え!? Read More
HTML内のRSS情報を取得する

HTML内のRSS情報を取得する

C#でHTML文書からRSSのURLを取得するサンプル。 このサンプルでは以下の処理を行う。 1.テキストボックスに対象となるHTML(WebサイトのURL)を指定。 2.[RSSのURL取得]ボタン押下。 3.取得したRSSが表示される。 関連記事 コントロール配列 ところで閏秒はどうなった? DataGridViewにチェックボックスが表示されない [DeAGOSTINI]週刊マクラーレンホンダMP4/4に挑戦(68号) <frameset>を使用したウィンドウのフレーム分割をやめてHTML5向けに対応してみる カラーコードを16進数表示する

HTML内のRSS情報を取得する Read More
解約後の携帯

解約後の携帯カメラの使用方法

ソフトバンク 3G携帯の機種変更後のカメラ使用方法について 先日、iPhoneに機種変したけど、iPhoneの前は、910SH(SHARP)を使用していた。 この旧3G携帯、500万画素のデジカメが付いていて気に入っていたが、携帯解約すると、USIMカードが無くなるのでカメラも使えなくなってしまう。 カメラを起動すると、 「この機能は現在利用できません。ネットワーク自動調整を行ってください。」 と表示される。 関連記事 楽天Webサービスに繋げてみた SJISからUTF-8への文字コード変換 System.Diagnostics.Debug.WriteLine 16進数6桁文字列からカラーを取 …

解約後の携帯カメラの使用方法 Read More
16進数6桁文字列からカラーを取得

16進数6桁文字列からカラーを取得

前回のカラーコードを16進数表示するに続き、今回はその逆の16進数文字列からカラー値を求めるサンプルを紹介。 このサンプルでは以下の処理を行う。 テキストボックスに16進数6桁のRGBの値を指定 ボタンをクリックで、ボタンの背景色を指定カラーに変更 ついでにボタンの文字列も色を反転 GUIデザインでは、Formにbutton2という名前のボタンと、textBox1という名前のテキストボックスを貼り付ける。 関連記事 DataGridViewにチェックボックスが表示されない 使い捨て感覚でWindowsを使用できる「Windows Sandbox」を使ってみた WSH JScriptでファイル一 …

16進数6桁文字列からカラーを取得 Read More
16進数6桁文字列からカラーを取得

カラーコードを16進数表示する

C#でカラーの値をRGBカラーコードを表示するサンプル。 このサンプルでは以下の処理を行う。 1.「色の設定」ダイアログを表示。 2.設定した色を使用し、ボタン背景色を変更 3.ボタンの文字色を、背景色の反転カラーに変更 4.設定した色をRGBカラー(16進数6桁の文字列)として表示 GUIデザインでは、Formにbutton1という名前のボタンを貼り付ける。 関連記事 DataGridViewにチェックボックスが表示されない [iPhone6]派手なアルミバンパー「Deff CLEAVE Hybrid Bumper for iPhone6 Plus」を買ってみた コントロール配列 WSH J …

カラーコードを16進数表示する Read More

SJISからUTF-8への文字コード変換

最近、Windows標準のShift-JISから、Web標準となっている(?)UTF-8への文字コード変換が必要な場合がちらほら出てきている。 マルチプラットフォームでデータをやり取りする場合なんかでもUTF-8が結構使われていたりする。 こういうコード変換なんかは、テキストエディタ等を使えば、簡単に変換できる。 最近ではメモ帳でもUTF-8保存ができるようになったし。 でも、このコード変換が100個、1000個、と数が増えてくると手作業は無理。 そんな訳で、VC++(非.NET)でSJISからUTF-8に変換するプログラムを作ってみることにした。 # バッチで利用したいという理由もあったんで …

SJISからUTF-8への文字コード変換 Read More
Webページの更新日時を調べる

Webページの更新日時を調べる

今回も自分用の覚え書きネタ。 Webサイトの更新日時なんかを調べたい場合、URLに以下を入力するとメッセージボックスが表示される。 もちろん、動的に作成されるWebページは正しく取得できない。 # とある件で更新日時を調べたくなったけど、やり方忘れて少し苦労したのでメモ。 関連記事 ポケモンGO レベルアップ予想計算ページを作ってみた WindowsヘルプからHTMLヘルプへの移行 [C#] WebView2ランタイム配布モードでのアプリ作成 [C#]WebView2使用ソリューションをリビルドすると参照コンポーネントが見つかりませんでした警告が出る Visual Studio 2017でイン …

Webページの更新日時を調べる Read More
コントロール配列

コントロール配列

かつてVisual Basic 6.0にはコントロール毎にIndexプロパティが存在し、 簡単にコントロールの配列を扱うことができた。 例えば、 など。 が、VB.NETからIndexプロパティが無くなり簡単には使用できなくなった。 (正確に言うと互換のため残されているが) オブジェクト指向なんだから自分で作れと言わんばかりに無くなっている。 VB.NETにも無いものはC#にも無い。 C# 2005にも配列用のコントロールは用意してあるようだけど。 (例:TextBoxArray、PictureBoxArrayなど) で、いざコントロールを配列で使ってみようと思ったところ使い方が分からず 少し …

コントロール配列 Read More
System.Diagnostics.Debug.WriteLine

System.Diagnostics.Debug.WriteLine

最近よく度忘れするので覚書き C#でデバッグ時に[出力]ペインに情報を書き出す方法 1. Debugモードに切り替え 2. ソース中に   System.Diagnostics.Debug.WriteLine(“出力される文字”); 3. 実行 関連記事 WSH JScriptでExcel操作 時差のお話 アナログでタコメーター風な東京電力メーターを作ってみた Windows10インストールと、アプリ動作確認 [DeAGOSTINI]週刊マクラーレンホンダMP4/4に挑戦(25号) [C#] WebView2ランタイム配布モードでのアプリ作成

System.Diagnostics.Debug.WriteLine Read More
最適化

最適化有無で動作が変化

前に、とある処理でこんなコーディング(VC++)をしたことがあった。 しかし、これが何故か無限ループに陥ってしまう。 同様のミニプログラムを作成しても再現しない。 なぜか、これを使用している某プログラムのみ発生する。 でも、デバッグモードでは問題なく動作する。 う~ん、怪しい。 試しにこのスレッド処理だけをコンパイラの最適化を無効にしてみた。 すると動くではないか。。。 最適化によってコードのサイズを小さくし実行速度を向上しているようですが、 たまに、こういった不具合にも突き当たります。 # 不具合というか仕様なんでしょうけど。 前に、最適化有無によって倍精度浮動小数点の演算結果(べき乗)が異 …

最適化有無で動作が変化 Read More
ネットワークスピードを調べる方法

ネットワークスピードを調べる方法

最近、物忘れが激しいんでブログに書いておきます。 Windows XPで、ネットワークスピードを調べる方法 知っている限りでは二種類の方法があります。 其の壱 [Ctrl]+[Shift]+[Esc]キーを同時押下。 Windowsタスクマネージャのダイアログが表示されるので[ネットワークタブ]を選択。 右側のスクロールバーを上下することにより、各アダプタのネットワーク使用率を表示することができる。 関連記事 Microsoft Power Automate Desktopで作成したフローを別のPCで実行する [ハイキング] 位牌岳→袴腰岳→愛鷹山 その2 時差のお話 [DeAGOSTINI] …

ネットワークスピードを調べる方法 Read More