DOBON.NETプログラミング道掲示板

■ 「新規作成」から投稿できます。
■ マルチポストされた投稿を見つけたときは、その投稿に返信することによりご報告ください。その際は匿名で投稿し、マルチポストされている場所を併記してください。
■ スパム対策のため、メールアドレスの先頭に"_"という文字が付加されています。
RSS 2.0 RSS 2.0 | RSS 0.91 | 携帯電話用 | 自分専用のアイコンを使用するには | 掲示板への要望 | 管理人に連絡 | お気楽掲示板
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
NomalC言語系で使用される書式をVBで使いたい(3) | Nomal.NET 4.5.2のVB.NETでのデスクトップ環境開発(2) | Nomalwebformでの制御(5) | Nomalリソースデザイナの開き方(11) | Nomalロジックの実現お願い(4) | NomalAppActiveが正常に機能しない。(4) | Nomaltextboxでmultilineでの改行削除について(2) | Nomalftp接続してファイルアップロード後、別フォルダにコピー(5) | NomalDataGridViewのイベント中にデータを更新するとエラーが発生(2) | Nomalフォントに登録されていない文字の検出(2) | NomalGetObjectでExcelファイルを加工するとExcelファイルが壊れる(9) | Nomaloledbでdatatableを取得するときにエラーになる(1) | Nomal作成した白黒画像をWordに貼り付けてから「図として保存」(8) | NomalVB.NetでVB6.0と同じFontを指定しても同様に印刷されない(9) | NomalDataGridViewの複数行選択で歯抜け選択を無効にしたい(2) | Nomal証券会社へのログイン(1) | Nomalユーザーフォームに埋め込んだAutoCADの変化を捉える(0) | Nomalシステムドライブ以外へのページング設定が反映されない(5) | Nomalブラウザでコピーした透過PNGを貼り付けたい(4) | Nomalforeachでループ回数を取得(2) | Nomalbitmapが保存できない(2) | Nomal特定ピクセルで画像を読み込みたい(2) | NomalDataGridViewでAlt+Enterで改行したい(2) | Nomal全角シフト中にアクセスキーが効かない(5) | NomalDataAdapter.Updateで構文エラー(6) | Nomal抽象クラスで実装したクラスの情報を知る(3) | Nomal画面遷移(モーダルとモードレス)(2) | NomalProcessクラスからbatファイル実行後、KILLできない(2) | NomalGetDirectoriesでルートを指定するとエラーになる(3) | Nomal兆億万表記の文字列を数値に変換できる?(3) | NomalLinqにおける明示的型指定の方法(3) | Nomal2つのradの数値から1つの角度を求めるコードを改善できますか?(C++)(2) | Nomalコンソールアプリで、WebView2の利用(2) | NomalEntity Frameworkは、使えるか?(2) | Nomalデータベースからのテーブル名一覧の効率的な取得方法(3) | NomalC#のlong型でオーバーフローになる(2) | Nomal正規表現のパターン表記方法(2) | NomalWebView2によるスクレ―ピング(4) | Nomalこういた物を作れますか?(2) | Nomalツールボックスにtableadapterが表示されない(1) | NomalC# Chart X軸上のグラフ表示(3) | NomalVB.NETでBluetoothデバイスの電池残量を取得する方法(3) | Nomalクリスタルレポート 明細部のサブレポート(0) | Nomal重なったPictureBox同士を透過する方法(7) | NomalWindowsフォームデザイナについて(3) | Nomalvb.netでExcelファイル操作(7) | NomalVB.NETからcmdでpingを実行した時の結果(5) | Nomalvb.netでのExcelファイルそうさ(2) | Nomalキーボード+バーコードでキーボード入力を無効にしたい(6) | NomalVB2022でクリスタルレポートが開けない(2) | Nomalファイルとして配置したマニフェストを優先したい(2) | NomalTabPageの背景色(5) | NomalC#でJpeg圧縮のTiffファイルを作成したい(4) | Nomalエクセルのみ監視ができない(2) | NomalDataGridViewのVirtualModeを有効した場合の実装方法(4) | NomalExcelの数値 -> 日付みたいな関数?(2) | Nomaljumbo icon(256x256)が存在するか知る方法(6) | NomalDrawstringでの透過文字作成(3) | NomalSpinWait()を使う理由(2) | Nomalantecedentってなんですか?(2) | Nomalワンタイムパスワードのサイトに自動ログインしてアクセストークンを得る(3) | Nomalstyle.displayだと効率悪いから違うやり方をしたいです。(5) | Nomalテーブルを順番通りに直すプログラムを外部で読み込めるようにしたいです。(4) | NomalJSONの複雑な入れ子内部の値を取りたい。(3) | Nomalグリッド表示レコードをJSONに変換(5) | Nomalシステム時計の設定(3) | NomalSeleniumで開いているページのTableを編集したい(5) | Nomalソケット通信入門 ひらがな(4) | NomalVisual Basicでエラーが出る(3) | Nomalインストーラにて、ローミングフォルダにファイルを配置したい(0) | NomalRGB値の所得(2) | Nomal時間変数(文字列)の扱い(4) | NomalVB.net からAccessDBへの接続(2) | Nomal画像のスクロール(6) | Nomalタイマーの一括処理(6) | NomalTreeViewとDataGridViewのスクロールを同期(シンクロ)させたい(4) | NomalTreeViewの現在位置とDataGridViewの現在位置を合わせたい(7) | NomalPictureBoxの画像を連続保存(11) | NomalDataGridViewの特定セルにボタンを配置する方法(5) | Nomalフォームのリサイズ時にDataGridViewが再描画されない(4) | NomalテキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?(2) | NomalPDFをフォーム上で表示させる方法につきまして(4) | NomalDataGridViewの行ヘッダーに行番号を表示した時のエラー(4) | Nomal継承元フォームで各フォームのボタン動作を検知したい(3) | Nomalラジオボタンの一括設定(7) | NomalWindowsエクスプローラからのドラッグ&ドロップ(2) | NomalRichTextBoxのテキストをpictureBOXへ(12) | Nomalクリックイベントでexeを作成できるか(2) | Nomalアセンブリ情報が載らない(1) | Nomal先頭に空白(スペース)があるファイルを読み込んでRichTextBoxへ書き出すとスペースが削除える(6) | Nomalc#で日付型の定義の仕方で質問があります。(2) | NomalExcel Com オブジェクトの増殖(13) | Nomal二次元マップから値の取得(1) | NomalアプリでHDMIへ出す解像度を変えたい(4) | Nomal列車の時間ごとの位置情報を表示したいです。(2) | Nomal画像の中心を基点に回転(4) | NomalDataGridViewのドロップダウンリストの表示と選択後の値を分けたい(1) | NomalタッチキーボードでIMEを自動で切替えたい(6) | NomalVSTOによるエクセルアドインのインストーラーでのアップデート(1) |



■記事リスト / ▼下のスレッド
■35671 / 親記事)  AppActiveが正常に機能しない。
□投稿者/ 日研迷琉 一般人(1回)-(2025/04/10(Thu) 14:02:35)
  • アイコン環境/言語:[Windows11 Pro(24H2) VS2022 VB .NetFreamwork4.8] 
    分類:[.NET] 

    現在、PCから離れた位置で無線バーコードリーダによるエントリプログラムを作成しているのですが、アプリケーションからカーソルが離れるとPCにもって入力項目にカーソルを移動しなければなりません。
    但し、フォーム上の入力項目は1つなのでフォームがアクティブになっていれば問題はないのですが、なにぶん長時間、他数のエントリを行うためにフォームがアクティブ状態になっていない場合、取り返しがつきません。
    そこで、タイマーイベントで、アクティブフォームを取得し、自身がアクティブでない場合に自身をアクティブにするロジックを考えたのですがタスクバーが点滅するだけでアクティブになってくれません。(VSのデバック起動では動作します。)
    下記の様な記述をしています。どなたか御教授願えませんでしょうか?

    【環境】 Windows11 Pro(24H2)
    VS2022 VB .NetFreamwork4.8

    【Code】タイマーイベント内に記載
    Dim ActiveFmName As String = ""
    Try
    ActiveFmName = IIf(IsNothing(ActiveForm.Name), "", ActiveForm.Name)
    Catch ex As Exception
    End Try

    If Not ActiveFmName = Me.Name Then
    AppActivate(Process.GetCurrentProcess.Id)
    End If

    以上よろしくお願いします
違反を報告
引用返信

▽[全レス4件(ResNo.1-4 表示)]
■35672 / ResNo.1)  Re[1]: AppActiveが正常に機能しない。
□投稿者/ 魔界の仮面弁士 大御所(1589回)-(2025/04/10(Thu) 16:08:04)
  • アイコンNo35671に返信(日研迷琉さんの記事)
    > ActiveFmName = IIf(IsNothing(ActiveForm.Name), "", ActiveForm.Name)
    これについては
     ActiveFmName = If(ActiveForm?.Name, "")
    と書くべきかと。
    IIf だと As Object になってしまいますので、Option Strict On との相性も悪いですよね。


    > アプリケーションからカーソルが離れるとPCにもって入力項目にカーソルを移動しなければなりません。
    「PCにもって」という動作が何を指しているのか、
    ちょっとよくわからなかったのですが、ここでいう「カーソル」とは
    マウスカーソルの物理的な位置ではなく、アクティブウィンドウに対する
    入力位置のキャレットのことを指しているものと推察しました。


    キーボードデバイスとして扱わるタイプのリーダーであれば、
    RawInput API (WM_INPUT メッセージ + RegisterRawInputDevices)や
    SharpDX.RawInput を使うことで、アプリケーションが前面に無く
    非アクティブであった場合の入力も拾うことができます。
    複数のキーボードデバイスがあった場合に、それぞれの入力を別々に拾うこともできます。
    ただし、キー入力エミュレーションのリーダーの場合は使えない可能性があります。

    https://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=res&namber=35479&rev=&page=0&no=0



    > 自身がアクティブでない場合に自身をアクティブにするロジックを考えたのですが
    無線バーコードリーダによる入力が行われていなくても、
    タイマーで強制的にアクティブ化しようとしていますか?
    それはシステムの操作的に問題があるような…。


    > タスクバーが点滅するだけでアクティブになってくれません。(VSのデバック起動では動作します。)
    たとえば、何かキー入力を行っている最中にアクティブウィンドウを勝手に変更されたり、
    ウィンドウを切り替えたばかりなのに、勝手に別のウィンドウに変更されたりすると
    都合が悪いため、そういう時にはタスクバーを点滅させて通知する仕様になっています。

    このあたりの事情は、下記で説明されています。
    https://bit.ly/foregroundWindow

    上記に書かれた、ウィンドウをフォアグラウンドに表示できる条件を満たしていれば
    AppActivate で点滅することなく切り替わるかと思います。

    なお上記 URL には一応、強制的にアクティブ化するためのコードも提示されています。
    (過去記事のアーカイブなので、サンプルコードが崩れてしまっていますが…)

    とはいえ上記のサンプルだけでも厳密には不十分で、さらにあらかじめ、
    ForegroundLockTimeout を 0 にしておかなければならないケースもあります。
    こちらは KB886217 で解説されています。
    https://bit.ly/MSKB886217

    なお、「SPI_GETFOREGROUNDLOCKTIMEOUT」を使うことで、
    一時的にこのパラメーター(ForegroundLockTimeout)を変更することもできます。



    以下蛇足。今となって不要な情報ですが。
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=63230&KLOG=107
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=63230&page=20&KLOG=107

違反を報告
引用返信
■35673 / ResNo.2)  Re[2]: AppActiveが正常に機能しない。
□投稿者/ 魔界の仮面弁士 大御所(1590回)-(2025/04/11(Fri) 09:21:09)
  • アイコンNo35672に追記(魔界の仮面弁士の記事)
    >>タスクバーが点滅するだけでアクティブになってくれません。(VSのデバック起動では動作します。)

    こっちを紹介するべきだったかな。

    [DOBON.NET]
    ┗[外部アプリケーションのウィンドウをアクティブにする]
     ┗[ウィンドウがアクティブにならない時の対策]
    https://dobon.net/vb/dotnet/process/appactivate.html#section4
違反を報告
引用返信
■35674 / ResNo.3)  Re[3]: AppActiveが正常に機能しない。
□投稿者/ 日研迷琉 一般人(2回)-(2025/04/11(Fri) 12:05:21)
  • アイコンお世話になっております。
    早速のご回答ありがとうございます。

    >> ActiveFmName = IIf(IsNothing(ActiveForm.Name), "", ActiveForm.Name)
    > これについては
    >  ActiveFmName = If(ActiveForm?.Name, "")
    > と書くべきかと。
    > IIf だと As Object になってしまいますので、Option Strict On との相性も悪いですよね。
    ご指摘ありがとうございます。勉強になります。

    > 「PCにもって」という動作が何を指しているのか、
    すみません。タッチミスで正しくは「PCにもどって」となります。

    > 入力位置のキャレットのことを指しているものと推察しました。
    はい、そう言うことです。

    >>自身がアクティブでない場合に自身をアクティブにするロジックを考えたのですが
    > 無線バーコードリーダによる入力が行われていなくても、
    > タイマーで強制的にアクティブ化しようとしていますか?
    > それはシステムの操作的に問題があるような…。
    PCは、バーコード読み取り専用機(サーバ機)として運用するつもりですのでメンテナンス時以外は他の処理は不要となります。
    確かにAPI等でメッセージをフックすれば可能なのでしょうけれども、当方には難しすぎてシンプルにアプリケーションを作成したいと思い今回の仕組みにしています。
    戴きました情報を基にもう少し勉強してみます。

違反を報告
引用返信
■35675 / ResNo.4)  Re[4]: AppActiveが正常に機能しない。
□投稿者/ 日研迷琉 一般人(3回)-(2025/04/14(Mon) 10:00:10)
  • アイコンお疲れ様です。

    魔界の仮面弁士様ご指摘の通り、[ウィンドウがアクティブにならない時の対策]を施し、希望通りの動きを実現することができました。
    まっ、ほぼコピペですが...(^^ゞ
    と言う事で、この案件は閉めさせて頂きます。ありがとうございました。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-4]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35668 / 親記事)  textboxでmultilineでの改行削除について
□投稿者/ suekun 一般人(9回)-(2025/04/04(Fri) 07:22:47)
  • アイコン環境/言語:[windows11/vb.net] 
    分類:[.NET] 

    2025/04/04(Fri) 10:53:33 編集(投稿者)

    お世話になっております。
    textboxでmultilineのものがあり
    内容を全てクリアして、カーソルを先頭に移動させたいのですが
    textbox.clearしても1つの改行が削除できません。(2行目にカーソルが残ります。)
    textbox.Replace(Chr(13), "").Replace(Chr(10), "")
    などを色々試しましたが、削除できません。
    どのようにしたらよろしいでしょうか。
    よろしくお願い申し上げます。
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35669 / ResNo.1)  Re[1]: textboxでmultilineでの改行削除について
□投稿者/ suekun 一般人(10回)-(2025/04/04(Fri) 07:27:08)
  • アイコンNo35668に返信(suekunさんの記事)
    textbox.multiline=false
    textbox.multiline=true
    とすると、内容がすべて削除され、カーソルは先頭に戻ります。
    他に対応方法はないでしょうか。
違反を報告
引用返信
■35670 / ResNo.2)  Re[2]: textboxでmultilineでの改行削除について
□投稿者/ suekun 一般人(11回)-(2025/04/04(Fri) 10:56:52)
  • アイコンNo35669に返信(suekunさんの記事)
    2回目のクリア(下記)を行ったところ、先頭に戻すことができました。
    textbox.select
    textbox.clear
    textbox.SelectionStart=0

    ありがとうございました。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35662 / 親記事)  ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ みーちょ 一般人(1回)-(2025/03/24(Mon) 03:36:34)
  • アイコン環境/言語:[Windows11 / vb.net2022] 
    分類:[.NET] 

    いつもお世話になっております。
    以下の処理を行いたいのですが、やり方が分からず躓いております。


    1 ftpサーバに接続してファイルをアップロード
      対象ディレクトリ ftp://test/aaa/ 
      ※ftp接続可能なフォルダ。実際のパスはc:\ftp\test\aaa

    2 ファイルアップロード後、直接ftp接続できないフォルダ
      D\bbb
      に移動し、システム日付(yyyymmdd)のフォルダを作成

    3 2のフォルダに、1でアップロードしたファイルをコピー


    1は、こちらのサイトの「FTPサーバーにファイルをアップロードする」でできましたが、2以降ができません。。。
    chコマンドみたいなのでフォルダ移動できないかと思ったのですが、ftpサーバ側でのchコマンド実行のやり方がわからず、躓いております。
    ftp接続できないフォルダ参照はできないのでしょうか?
    もしできるのなら、やり方を教えていただきたく、何卒よろしくお願いいたします。



違反を報告
引用返信

▽[全レス5件(ResNo.1-5 表示)]
■35663 / ResNo.1)  Re[1]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ KOZ 一般人(40回)-(2025/03/24(Mon) 05:00:56)
  • アイコンNo35662に返信(みーちょさんの記事)
    > ftp接続できないフォルダ参照はできないのでしょうか?

    できません。出来たら問題です。

    > もしできるのなら、やり方を教えていただきたく、何卒よろしくお願いいたします。

    サーバーのフォルダを共有するしかないと思いますよ。
違反を報告
引用返信
■35664 / ResNo.2)  Re[2]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ みーちょ 一般人(2回)-(2025/03/24(Mon) 06:13:11)
  • アイコン
    >>ftp接続できないフォルダ参照はできないのでしょうか?
    > できません。出来たら問題です。
    あう、やっぱだめですかぁ。
    私が知らないだけかもと、一縷の望みというか希望をもってたのですが。


    >>もしできるのなら、やり方を教えていただきたく、何卒よろしくお願いいたします。
    > サーバーのフォルダを共有するしかないと思いますよ。
    セキュリティの関係でNGくらったのです。
    もっかい上司と相談してみます。

    ちなみに、chじゃなくてcdコマンドでしたね。。。恥ずかし///
違反を報告
引用返信
■35665 / ResNo.3)  Re[3]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ kiku 一般人(1回)-(2025/03/24(Mon) 11:17:46)
  • アイコンNo35664に返信(みーちょさんの記事)
    >
    > >>ftp接続できないフォルダ参照はできないのでしょうか?
    >>できません。出来たら問題です。
    > あう、やっぱだめですかぁ。
    > 私が知らないだけかもと、一縷の望みというか希望をもってたのですが。

    FTPサーバ上に、常時起動しているサービスやアプリなどをおいて、
    そのアプリが、c:\ftp\test\aaaを監視して、
    追加された場合、D\bbbへコピーすることをすれば
    実現できそうです。
違反を報告
引用返信
■35666 / ResNo.4)  Re[3]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ 魔界の仮面弁士 大御所(1588回)-(2025/03/24(Mon) 11:38:42)
  • アイコンNo35664に返信(みーちょさんの記事)
    > セキュリティの関係でNGくらったのです。
    > もっかい上司と相談してみます。
    1) そもそも何故、時代遅れの FTP が選択されているのかを確認した方が良いでしょう
    2) どうしても FTP が必要なら、存在はしているが列挙されない不可視ディレクトリを使って
     公開フォルダーを見せないようにすることもできます(とはいえ、FTP が脆弱であることは変わりません)
    3) サーバーによっては QUOTE サブコマンドを通じて、非標準の独自コマンドで通信できるケースもあります


    > 1 ftpサーバに接続してファイルをアップロード
    FTP (RFC959) はセキュリティ的に脆弱なので、
    FTPS (RFC4217) あるいは
    SFTP (RFC4251) を採用した方が望ましいと思いますよ。

    FTP は、パスワードは暗号化されずに平文で通信されるため、
    盗聴や改竄に対して脆弱であり、現在では推奨されないプロトコルです。

    FTPS の場合、通信の暗号化のために、認証局で署名されたサーバー証明書を必要とします。
    そのためランニングコストが発生しますが、IIS でもサポートされているプロトコルです。
    VB 側から FTPS で送受信するためには、FtpWebRequest クラス を使えます。
    開発のために、一時的に無償のオレオレ証明書でテストするならこんな感じです。
    https://www.chuken-engineer.com/entry/2019/09/25/135516

    SFTP の場合は SSH 上で FTP する方式であり、認証局への申請が不要となるため、
    追加費用が発生しません。個人的には SFTP を推奨しておきます。
    IIS ではサポートされていませんが、Windows Server でも OpenSSH などで導入可能です。
    .NET からの送受信には、SSH.NET が用いられることが多いです。
    https://sorceryforce.net/ja/tips/sftp-ssh-net-basic

    なお定例的な送受信であれば、VB にて実行する代わりに WinSCP を
    コマンドライン実行することで FTP/FTPS/SFTP 通信を行わせることもできます。
    https://winscp.net/eng/docs/lang:jp
違反を報告
引用返信
■35667 / ResNo.5)  Re[3]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ KOZ 一般人(41回)-(2025/03/29(Sat) 16:36:46)
  • アイコンNo35664に返信(みーちょさんの記事)
    > セキュリティの関係でNGくらったのです。

    セキュリティということであれば、ftp より共有フォルダのほうが強固です。
    共有名の後ろに $ をつければエクスプローラーからは見えなくなりますし。

    Windows ではデフォルトでルートディレクトリが共有されているので
    適切な権限があれば直接さわることもできます。

    D:\bbb フォルダなら、\\サーバー名\D$\bbb という具合です。
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-5]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35649 / 親記事)  DataGridViewのイベント中にデータを更新するとエラーが発生
□投稿者/ Pulsar 一般人(1回)-(2025/02/07(Fri) 14:46:00)
  • アイコン環境/言語:[c# .Net9.0] 
    分類:[.NET] 

    2025/02/07(Fri) 14:56:10 編集(投稿者)
    2025/02/07(Fri) 14:47:42 編集(投稿者)

    .Net9.0 c# Microsoft.Data.SqlClientを使用していますが
    DataGridViewにBindingSourceを使用してDataTableをバインドしています。
    CellContentClickイベント中にDataTableのデータを更新して
    BindingSourceのResetBindingsメソッドを実行すると
    CellContentClickイベントが終了したタイミングで
    System.NullReferenceException: 'Object reference not set to an instance of an object.'
    が発生します。

    .Net6.0 c# System.Data.SqlClientを使用していた時はエラーは発生しませんでした。
    (同じプログラムです。)

    回避策などがありましたらご教授ください。
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35650 / ResNo.1)  Re[1]: DataGridViewのイベント中にデータを更新するとエラーが発生
□投稿者/ 魔界の仮面弁士 大御所(1582回)-(2025/02/12(Wed) 10:15:57)
  • アイコンNo35649に返信(Pulsarさんの記事)
    > .Net9.0 c# Microsoft.Data.SqlClientを使用していますが
    .NET 9.0 ですか…。.NET 8.0 だと結果は変わりますか?

    STS である奇数バージョン(リリース後、18ヶ月間サポートされる)は、
    LTS である偶数バージョン(リリース後、36ヶ月間サポートされる)よりも
    ライフサイクルが短いため、8.0 にしてみるのも手かもしれません。
    https://dotnet.microsoft.com/ja-jp/platform/support/policy/dotnet-core


    > DataGridViewにBindingSourceを使用してDataTableをバインドしています。
    両バージョンの DataTable で WriteXml した場合、内容に差異がありますか?
    差異が無いのなら、SqlClient そのものが原因では無いのだと思います。

    その XML を ReadXml で読み取った DataTable をバインドした場合と、
    元の SqlClient から得た DataTable をバインドした場合とで
    結果に差があるかを確認してみてはいかがでしょう。


    > CellContentClickイベント中にDataTableのデータを更新して
    > BindingSourceのResetBindingsメソッドを実行すると
    > CellContentClickイベントが終了したタイミングで
    > System.NullReferenceException: 'Object reference not set to an instance of an object.'
    > が発生します。
    例外発生時に StackTrace の内容がどうなっているか、提示することはできますか?
    もしくは、「第三者が実験可能な最小限の検証用コード」を添付することは可能でしょうか。
    .NET はソースコードが公開されているため、そこから何かヒントが得られるかもしれません。

    https://source.dot.net/#System.Windows.Forms/System/Windows/Forms/Controls/DataGridView/DataGridView.cs
    https://github.com/dotnet


    また、CellContentClick の最中に BindingSource.ResetBindings() する代わりに、
    BeginInvoke などを用いて、「CellContentClick の完了後に BindingSource.ResetBindings()」されるように
    手順を変更してみるのはどうでしょうか。


    > .Net6.0 c# System.Data.SqlClientを使用していた時はエラーは発生しませんでした。

    一般的には「c#」ではなく「C#」と表記されることが多いです。
    以下、C# 関連規格書より引用:

    -----
    JIS X 3015:2008 "プログラム言語C#" [October 2008]
     「6 頭字語及び略語」
    より引用:
    > C#は,LATIN CAPITAL LETTER C (U+0043)の次に
    > NUMBER SIGN # (U+000D)を書く。
    -----
    ISO/IEC 23270:2018 "Information technology -- Programming languages -- C# (Third edition)" [December 2018]
     「4. Acronyms and abbreviations」
    および
    ECMA-334:2023 "C# language specification (7th edition)" [December 2023]
     「Introduction」
    より引用:
    > The name C# is written as the LATIN CAPITAL LETTER C (U+0043)
    > followed by the NUMBER SIGN # (U+000D).
違反を報告
引用返信
■35651 / ResNo.2)  Re[2]: DataGridViewのイベント中にデータを更新するとエラーが発生
□投稿者/ Pulsar 一般人(2回)-(2025/02/12(Wed) 15:43:35)
  • アイコンレスありがとうございます。

    本日Version 17.13.0のアップデートがあり、
    アップデート後にリビルドしたらエラーが出なくなりました。

    レスポンスの内容は勉強になりました。
    今後の対応に応用できるかと思います。

    ありがとうございました。

解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▲上のスレッド
■35633 / 親記事)  フォントに登録されていない文字の検出
□投稿者/ Iraquser 一般人(1回)-(2024/11/14(Thu) 10:28:51)
  • アイコン環境/言語:[Win10 C#] 
    分類:[.NET] 

    Graphic.DrawStringで文字列を描画するプログラムを開発していますが、描画しようとする文字列に含まれる文字がフォントに登録されていない場合、描画は行われないようです(全てのフォント・文字を確認した訳ではありません)。DrawString実行前に描画しようとする文字列内の全文字が描画可能か確認する手段はないのでしょうか。
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35634 / ResNo.1)  Re[1]: フォントに登録されていない文字の検出
□投稿者/ 魔界の仮面弁士 大御所(1577回)-(2024/11/14(Thu) 16:15:13)
  • アイコンNo35633に返信(Iraquserさんの記事)
    > Graphic.DrawStringで文字列を描画するプログラムを開発していますが
     Graphics.DrawString のことでしょうか。
    GDI+ の描画命令ですね。
    同じフォントでも、WPF と GDI と GDI+ とでは描画できる文字に差が出ます。
    GDI だと代替フォントが使われたりしますし、WFP だと異体字に対応していたりとか。
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=95373&KLOG=165


    > 描画しようとする文字列内の全文字が描画可能か確認する手段はないのでしょうか。
    含まれているかどうかを調べるなら、
    GlyphTypeface.CharacterToGlyphMap.ContainsKey というものがあります。
    https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30649
違反を報告
引用返信
■35648 / ResNo.2)  Re[2]: フォントに登録されていない文字の検出
□投稿者/ Iraquser 一般人(2回)-(2025/01/18(Sat) 08:53:52)
  • アイコンアドバイスありがとうございます。
    お礼の返信した積りになってて、忘れておりました。本当に申し訳ありません。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]






Mode/  Pass/


- Child Tree -

2026/03/28(Sat) 16:00:40 に作成されたキャッシュを表示しています。
生のデータを表示する | キャッシュを最新にする