.NET Frameworkアプリを.NET(Core)アプリに簡単にアップグレードする方法

以前にも、.NET Frameworkから.NETへのアップグレード方法について紹介したけど、もっと簡単になっていたので改めて紹介。 以前の記事:.NET アップグレード アシスタント ツール使って.NET FrameworkのWindowsフォームアプリを.NET 6に置き換える ここでは、試しにWindowsフォームアプリケーション(.NET Framework)を、.NET 7への移行を紹介しますが、 WPFアプリケーション等も基本的に同じ方法でいけると思います。 移行前のサンプルアプリ。 [バージョン情報]ボタンを押下すると、バージョン情報(※)を表示するだけのWindows Form …

.NET Frameworkアプリを.NET(Core)アプリに簡単にアップグレードする方法 Read More

[HTML] <table>のヘッダ行だけ固定し、ボディ部内のみスクロールさせる方法

やりたかったことは、HTMLの表でヘッダ行だけスクロールせず固定表示しつつ、 2行目以降の表のみ縦スクロールさせること。 Excelで例えると「ウィンドウ枠の固定」>「先頭行の固定」みたいなものを実現したい。 関連記事 jQueryのautopagerを使わず自動的に次ページ読込み処理を作ってみた 東京電力メーターといいつつ、関西電力、東北電力、九州電力の電力使用率に対応してみた HTML5で各電力会社の電力使用率をアナログメーターで描画するサンプルを作ってみた。 写真をGoogleマップで管理するWebシステムを作ってみた 写真をOpenStreetMapで管理するWebシステムを作ってみた …

[HTML] <table>のヘッダ行だけ固定し、ボディ部内のみスクロールさせる方法 Read More

[C#] WebView2ランタイム配布モードでのアプリ作成

C#、VB.NET等でWebView2を利用する方法について 以前、WebView2ランタイムをインストールして使用する方法(アプリでエバーグリーン ブートストラップ)を紹介しました。 [C#] WebView2コントロールの利用方法 今回は、配布するアプリと一緒にランタイムを含める方法(修正済みバージョン)を紹介します。 それぞれのメリット、デメリットはこちらを参照。 Microsoft | 修正済みバージョンのランタイム配布モード Evergreen ランタイム配布モード 利点: 基盤となる Web プラットフォーム (WebView2 ランタイム) は、ユーザーの努力なしに自動的に更新さ …

[C#] WebView2ランタイム配布モードでのアプリ作成 Read More

[C#] Windows Formアプリの多言語対応

C#で作成したアプリを、複数の言語で表示したい場合の作成方法。 また忘れそうなので備忘録として。。   言語ごとの文字列情報 日本語、英語、中国語、韓国語・・・など言語ごとの情報はソリューションエクスプローラーの プロジェクト>Properties>Resources.resx に保存する。 デフォルト言語(通常は英語)は、”Resources.resx”に保存しておき、 他の言語は別ファイルとして同様のファイルを保存する。 例えば、日本語の場合は、”Resources.ja-JP.resx”など。 で、これらリソースの中に各言語の変数 …

[C#] Windows Formアプリの多言語対応 Read More

[C#] WebView2コントロールの利用方法

WebView2の利用方法について、IEとEdgeの処理の違いを中心に似たような記事を書いた。 →[C#] WebBrowserコントロールからWebView2への切り替え でも、作成したexeファイルをC:\Program Files配下で動作させようとした場合、書き込み権限がなく例外が発生。 今回はこの問題を回避しつつ、記事を最新化したので、再び備忘録としてまとめなおし。 <前提> ・Visual Studio 2022 ・C# ・Windowsフォーム ・.NET Framework 4.8 この前提でWebブラウザコントロールを、IE(WebBrowser)ではなく、Edge(WebV …

[C#] WebView2コントロールの利用方法 Read More

Visual Studio 2022でインストーラ作成

C#やVB.NETで作成したWindowsフォームアプリに対してインストーラを作成してみる。 以前(※)も同じような記事を書いたけど、最新版に書き直し。 ※Visual Studio 2017でインストーラ作成 ・Win10 → Win11 ・Visual Studio 2017 → 2022 最近では、msix形式のインストーラも出てはいるみたいだけど、脆弱性が見つかって一時無効化されたり、バタバタしているようなので少し様子見。 それと、今回対象としているアプリは、WPFとかでなく、Windowsフォームアプリってことでmsi形式のインストーラで充分。 <追記>.NET Frameworkだ …

Visual Studio 2022でインストーラ作成 Read More

.NET アップグレード アシスタント ツール使って.NET FrameworkのWindowsフォームアプリを.NET 6に置き換える

.NET Frameworkは、バージョン4.8が最後となり、今後は、.NET 6(.NET Core)に引き継がれることになった。 いずれ、.NET Frameworkのサポートも終了となるということで、いつかは移行しなければならない。 そうは言っても.NET Frameworkと、.NETは完全互換があるわけではなく、一部機能などそのまま使えない。 小さなアプリなら.NET用に新規に作り直した方がいいと思うけど、ある程度大きなプログラムになってくると、そうも行かない。 完全ではないけど.NET Frameworkから.NET移行をしてくれる「.NET アップグレード アシスタント」なんても …

.NET アップグレード アシスタント ツール使って.NET FrameworkのWindowsフォームアプリを.NET 6に置き換える Read More

[C#] WebBrowserコントロールからWebView2への切り替え

C#、VB.NET等で標準で使用できるWebブラウザ用の部品として、昔からWebBrowserを使用してきたけど、これがInternet Explorerベースの古い部品。 しかもIE7ベース。 これをIE11ベースに無理やり切り替える方法も昔試していた。 [C#] WebBrowserコントロールのレンダリングモードをデフォルトのIE7から最新IEモードに変更する けど、さすがにIE11も限界。   最近のHTML5やJavaScriptを使用したページが表示できなかったり、セキュリティ更新もできなかったり問題が多すぎる。 そこで、今回最新ブラウザWebBrowserからWebVi …

[C#] WebBrowserコントロールからWebView2への切り替え Read More

「.NET 5」対応

今まで.NETのソフトを結構作ってきたけど、それらはほぼ「.NET Framework」上で動作するものだった。 が、しかし、この「.NET Framework」が今後のOSでは無くなるらしい。 ここ最近、全く勉強不足でそんなこと知らなかった。 「.NET 5」に統合されていくとのこと。 で、その.NET 5は2020年11月10日に正式リリース済み。 かつてのVisual Basic 6が、Visual Basic.NETに代わり、実質VB6が絶滅した時と同じか!? (必須ランタイムもVB6ランタイムから、.NET Frameworkに変更) これはまずい。 今更ながら調べ始めてみると、AS …

「.NET 5」対応 Read More
スポメカ

スポーツ新聞作成Webサイトを10年ぶりに更新

約10年前に、スポーツ新聞作成Webサイトの公開したけど、それ以来 サイトのプログラム自体の改版は一切行っていなかった。 いろいろ不具合もあり、いつかサイトを閉鎖しようとも考えていたけど、 少しずつアクセス数が増えてきたので、手直しすることに。 見た目はあまり変わっていないけど、主に記事登録の処理を大幅に改良。 今までは、PHPサーバ側で画像処理を行っていたけど、今回はブラウザ側の HTML5の機能を使って画像処理を行うようにした。 今までは、一度登録を行わないと完成イメージを確認できなかったけど、 今度は記事入力中にリアルタイムに表示確認できるようになった。 地味な改善だけど、結構頑張って作 …

スポーツ新聞作成Webサイトを10年ぶりに更新 Read More
OpenStreetMap

写真をOpenStreetMapで管理するWebシステムを作ってみた

写真をGoogleマップで管理するWebシステムを作ってみたを密かに改良し、Googleマップ以外の地図「OpenStreetMap」でも表示できるよう作り込んでみた。     まだ全然ゴールできていない東海道の写真とともにデモサイトを作ってみた。 デモサイト:東海道ウォークマップ 関連記事 写真をGoogleマップで管理するWebシステムを作ってみた jQueryのautopagerを使わず自動的に次ページ読込み処理を作ってみた PHPのDOMでRSS作成 HTML5で各電力会社の電力使用率をアナログメーターで描画するサンプルを作ってみた。 東京電力メーターといいつつ、関 …

写真をOpenStreetMapで管理するWebシステムを作ってみた Read More

[PowerShell] Excelの列名を列番号に変換する関数

Excelの列名は、通常「A」「AB」などアルファベット表示(A1形式)になっている。 Excelのオプション(※)を変更することによって「1」「28」など番号表示(R1C1形式)にもできる。   ※ファイル>オプション>数式>数式の処理>R1C1参照形式を使用する   アルファベット表示(A1形式)   番号表示(R1C1形式)     関連記事 16進数6桁文字列からカラーを取得 HTML5で各電力会社の電力使用率をアナログメーターで描画するサンプルを作ってみた。 [C#] SSHコマンド実行とSCPファイル転送のサンプル [C#] Web …

[PowerShell] Excelの列名を列番号に変換する関数 Read More
VBAマクロでカレンダ

[Excel VBA] 祝日を求めるサンプル

ExcelのVBAマクロを使って簡単なカレンダを作ってみたので、備忘録として残しておきます。   カレンダを作るためには、主に以下のような処理が必要。 ・曜日を求める ・その月の最終日を求める(特に2月の閏年計算) ・祝日、休日などを求める  - 固定日(毎年変わらない祝日)  - ハッピーマンデー(第〇月曜日)  - 振替休日  - 春分の日、秋分の日(毎年変わるが計算で求められる)  - 国民の休日(祝日で挟まれた日) 関連記事 WSH JScriptでファイル一覧結果をExcelで表示 東京電力メーターといいつつ、関西電力、東北電力、九州電力の電力使用率に対応してみた WSH …

[Excel VBA] 祝日を求めるサンプル Read More
[C#] エクスプローラ風のツリービュー表示

[C#] エクスプローラ風のツリービュー表示

Windowsフォームのアプリで、Windowsエクスプローラのようなフォルダやドライブ一覧をツリー表示する方法を調べてみた。 nugetの「ExpTreeLib」というライブラリを使うことによってC#やVB.NETで簡単?に実現できるらしい。 関連記事 WindowsヘルプからHTMLヘルプへの移行 [UiPath] 画像認識した日本語文字列を取得する 無料開発ツール – Visual Studio Community 2015をインストールしてみた Visual Studio 2013をインストールしてみた Visual Studio 2017でインストーラ作成 [C#] Ex …

[C#] エクスプローラ風のツリービュー表示 Read More
イベントログ取得できない

Windows10 April 2018 Update適用でC#からイベントログ取得がうまくいかない

Windows10の大型アップデート「April 2018 Update」(バージョン1803)を適用すると、 C#から、うまくイベントログを拾えなくなってしまった。 例えば、以下のソースを実行すると、イベントログを途中まで読み込んで 勝手にループを抜けてしまう。 実行結果: ⇒イベントログ2433件あるのに、123件しか取得できない。 関連記事 System.Diagnostics.Debug.WriteLine Windows10 ProのHyper-Vを使って、Windows 10仮想環境を構築してみる RSS新着情報を音声読み上げできるようにしてみた [C#] スタートアップメニューに …

Windows10 April 2018 Update適用でC#からイベントログ取得がうまくいかない Read More
WSHでExcel操作

WSH JScriptでExcel操作

WSHを使用した、Excel操作の備忘録。   新規Excelブックを作成し、セルB2に、現在日時を表示し、保存するまでの処理。   前に、C#からの操作を紹介したけど、これの簡易版。 [C#] プログラムからExcelファイルを読み書きする方法   関連記事 WSH JScriptでExcel読み込み WSH JScriptでファイル一覧結果をExcelで表示 [C#] プログラムからExcelファイルを読み書きする方法 [Excel VBA] 祝日を求めるサンプル [C#] Excelを使ったプログラムとインストーラの作成 [C#] スタートアップメニューにシ …

WSH JScriptでExcel操作 Read More
setup.msi

Visual Studio 2017でインストーラ作成

Visual Studio 2017で作成したWindows Formアプリケーションのインストーラ作成方法を備忘録としてまとめてみた。 最新版はこちら。→Visual Studio 2022でインストーラ作成   過去にも自作ソフトを配布する際、何度かインストーラを作成して配布していたこもあったけど、ここ最近は、インストーラを作成せず、exeなどをzipで固めて配布していた。 その方が楽だし、利用者も抵抗感が少ないと思ったから。 でも、たまに実行権限の問題や、スタートアップ登録方法など問い合わせを受けることもある。 場合によっては、インストーラ付きでの配布を求められるシーンもある。 …

Visual Studio 2017でインストーラ作成 Read More
C# フィームの角を丸くする

[C#] フォームの角を丸くする方法

C#で、Windowsフォームの角を丸くして表示する方法。   普通のWindowsフォームは、タイトルバーとか境界線が付き、角も角ばっている。   それを、こんな感じに角を丸くして表示する。   関連記事 DVD再生ソフトで表示できない コントロール配列 カラーコードを16進数表示する [C#] ListView.Items.Addの描画処理が異常に重くてハマった [C#] WebBrowserコントロールのレンダリングモードをデフォルトのIE7から最新IEモードに変更する HTML内のRSS情報を取得する

[C#] フォームの角を丸くする方法 Read More
Visual Studio Community 2015

無料開発ツール – Visual Studio Community 2015をインストールしてみた

開発環境をVisual Studio Community 2013から、 Visual Studio Community 2015に切り替えてみた。   [Microsoft:無料開発ツール – Visual Studio Community 2015] https://www.visualstudio.com/products/visual-studio-community-vs   関連記事 無料版開発環境 Visual Studio Community 2013をインストールしてみた Visual Studio 2013をインストールしてみた Visual …

無料開発ツール – Visual Studio Community 2015をインストールしてみた Read More
画面デザイン

[C#] スタートアップメニューにショートカットを登録する方法

Windows起動時にアプリを起動させたい場合、スタートアップメニューにアプリを登録することは良くあると思う。 でも、Windows 10や8.1などでは、スタートアップメニューへの登録方法が面倒というか分かりにくく、自作ソフトでもたまに問い合わせが来る。 インストーラでスタートアップに登録すれば確実なんだけど、フリーソフトでインストーラとかは嫌がられる場合も多く、作る手間も掛かる。 そんな訳で、アプリケーション側で、自分自身のショートカットをスタートアップメニューに登録する方法を調べてみた。     まずは、スタートメニューのフォルダを調べる方法。 Stringの値が返さ …

[C#] スタートアップメニューにショートカットを登録する方法 Read More
Windows10

Windows10インストールと、アプリ動作確認

前に、Windows 10 Enterprise Technical PreviewをVMware Playerにインストールしたことはあったけど、今度は7/29正式版のWindows10をメインPCにインストールしてみた。 まだインストールトラブルもちらほら聞く中、自作ソフトの動作確認をしなければならないので人柱覚悟でインストール。     と言っても、環境ぶっ壊れるといろいろ面倒なことになるので、手動で可能な限りファイルバックアップ。 に加え、以下のサイトを参考に、PCを丸ごとバックアップ。 Windows 10を入れる直前の状態で復元できるイメージバックアップのつくり …

Windows10インストールと、アプリ動作確認 Read More
windows10

Windows 10 Enterprise Technical PreviewをVMware Playerにインストールしてみた

Windows Vista、7、8と、新OSが出る度にVMで自作ソフトの動作確認をしていたけど、 今回もWindows10環境を構築してみることにした。 プレビュー版を入れるような空きPCも無いので、今回も仮想環境にWindows10をインストール。     関連記事 Windows10 ProのHyper-Vを使って、Windows 10仮想環境を構築してみる Windows 8 Release Previewをインストールしてみた 使い捨て感覚でWindowsを使用できる「Windows Sandbox」を使ってみた Windows 7 β1をインストールしてみた Wi …

Windows 10 Enterprise Technical PreviewをVMware Playerにインストールしてみた Read More
ListView

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

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

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

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

エクスプローラーなどでファイルを右クリックしたときに出てくる「送る」メニュー。 この送るメニューにアプリケーションを登録しておくと、選択したファイルの情報を アプリケーションに渡して起動できるため、使い方によっては便利な機能。 例えば、logファイルを”メモ帳”に送って起動するといったことができる。 関連記事 [C#] スタートアップメニューにショートカットを登録する方法 [C#] SSHコマンド実行とSCPファイル転送のサンプル [C#] プログラムからExcelファイルを読み書きする方法 HTML内のRSS情報を取得する DVD再生ソフトで表示できない Window …

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

[C#]Visual Studio 2013で、Windows8.1向けWindowsストアアプリを作成してみる

Windowsストアアプリと言っても、Windows8用とWindows8.1用と異なり、 Windows8用のストアアプリはVisual Studio 2012で開発し、 Windows8.1用のストアアプリはVisual Studio 2013で開発する必要がある。 Windows8は無料アップデートでWindows8.1になるので、もうWin8用ストアアプリを態々作る必要も無いだろう。 なので、最初からWin8.1向けWindowsストアアプリ開発に挑戦してみる。 関連記事 Visual Studio 2013をインストールしてみた 無料開発ツール – Visual Stud …

[C#]Visual Studio 2013で、Windows8.1向けWindowsストアアプリを作成してみる Read More
Visual Studio Community 2013

無料版開発環境 Visual Studio Community 2013をインストールしてみた

.NETが一部OSS化され、.NET開発環境であるVisual Studio 2013も条件付きで無料版がリリースされた。 ずっと、そーなればいいなとは思っていたけど、まさか本当に実現するとは。凄い。 .NETも、やっと少しようやく何とな~くJavaに近付いてきた。ような気がする。 サーバーサイドの.NET Core Runtimeは、LinuxとかMac OS Xにも対応。 で、Visual Studioの方は無料化された。 とは言っても、もともとVisual Studio Expressは無料だった。 まぁ、こちらは「for Web」とか「for Windows」「for Windows …

無料版開発環境 Visual Studio Community 2013をインストールしてみた 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
くしけん

ネットショッピング横断検索サイトのオートページャー対応

前に、Ajaxを使い複数のネットショップを一括検索するサイト「くしけん」を作ったんだけど、ここ最近は放置気味で殆どメンテできていなかった。 ああしたい。こうしたい。という案はいろいろあったんだけど。 関連記事 最安値検索サイト スポーツ新聞作成Webサイトを10年ぶりに更新 商品検索サイトを立ち上げ VS2005到着 全力通販 マリオカート

ネットショッピング横断検索サイトのオートページャー対応 Read More
WebBrowserコントロールで実行

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

C#やVB.NETなどのアプリケーションで、WebサイトやHTMLなどを表示したい場合に使うWebBrowserコントロール。 このWebBrowserコントロールを使えば、簡単にInternet Explorer同等のWebページを表示できる。 でも、最近このWebBrowserコントロールで表示崩れが増えてきたような気がする。 例えば、ここのホームページを表示すると、メニューのスタイルが崩れてしまう。   ↓WebBrowserコントロールで表示   関連記事 [C#] スタートアップメニューにショートカットを登録する方法 [C#] 送るメニューにショートカットを登録/ …

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