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

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

記事リスト ( )内の数字はレス数
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) | NomalVB.net からAccessDBへの接続(2) | Nomal時間変数(文字列)の扱い(4) | Nomal画像のスクロール(6) | Nomalタイマーの一括処理(6) | NomalTreeViewとDataGridViewのスクロールを同期(シンクロ)させたい(4) | NomalTreeViewの現在位置とDataGridViewの現在位置を合わせたい(7) | Nomalフォームのリサイズ時にDataGridViewが再描画されない(4) | NomalPDFをフォーム上で表示させる方法につきまして(4) | NomalPictureBoxの画像を連続保存(11) | NomalテキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?(2) | Nomal継承元フォームで各フォームのボタン動作を検知したい(3) | NomalWindowsエクスプローラからのドラッグ&ドロップ(2) | Nomalラジオボタンの一括設定(7) | Nomalクリックイベントでexeを作成できるか(2) | Nomal作成した白黒画像をWordに貼り付けてから「図として保存」(8) | Nomalアセンブリ情報が載らない(1) | NomalRichTextBoxのテキストをpictureBOXへ(12) | Nomalc#で日付型の定義の仕方で質問があります。(2) | Nomal先頭に空白(スペース)があるファイルを読み込んでRichTextBoxへ書き出すとスペースが削除える(6) | NomalExcel Com オブジェクトの増殖(13) | Nomal二次元マップから値の取得(1) | NomalアプリでHDMIへ出す解像度を変えたい(4) | NomalDataGridViewのドロップダウンリストの表示と選択後の値を分けたい(1) | Nomal列車の時間ごとの位置情報を表示したいです。(2) | Nomal画像の中心を基点に回転(4) | NomalDataGridViewの行ヘッダーに行番号を表示した時のエラー(4) | NomalタッチキーボードでIMEを自動で切替えたい(6) | NomalVSTOによるエクセルアドインのインストーラーでのアップデート(1) | NomalMP4動画を再生する方法について(5) | NomalVB.NetでVB6.0と同じFontを指定しても同様に印刷されない(9) | NomalLabelで文字単位の背景色(7) | NomalLableのカラー色を文字変数から変更したい(5) | NomalUrlにアクセスするとダウンロードされるファイルを捕まえる(2) | Nomalタブレット等でスワイプによるスクロールを実装(2) | NomalTEXTBOXのプロパティを文字列に(7) | NomalPDFをフォーム上で表示させる方法につきまして(6) | NomalChart X軸上の描画を切り替えたい(0) | NomalRichTextBoxへのドラッグ&ドロップしたExcelファイルの扱い(3) | Nomal特定のPCだけ発生する「パディングは無効なので削除できません」のエラーの原因(6) | NomalASP.NET WebApi内でXmlReader.Create(url)がタイムアウトする(4) | NomalDatagridViewでファンクションキーを止めたい(5) | Nomal表示動作が重くなる(3) | Nomalbitmapを複数スレッドで処理したい(2) | Nomalフォーム背景のみを半透明にしたい(5) | Nomal読み出し元フォームの位置取得方法(2) | NomalLoadOptionのパラメータの意味(3) | Nomalコンストラクターに続く{}の意味(2) | Nomal1行で書くことできますか?(3) | Nomalvb.netで7zの圧縮・解凍をしたい。(2) | NomalCommandBuilderによって作られるCommandTextの内容(5) | NomalC# NASでのプログレスバー有りのコピー(0) | NomalDataViewのFindRowsde(7) | Nomal正規表現で文字の繰り返しパターン(4) | NomalNPOIでのエクセル編集で期待通りに書き込めません(2) | NomalFormのサイズ変更で掴める辺を制限したい(2) | NomalDataGridのSetDataBindingに代わるもの?(3) | Nomalビデオ圧縮のコーデック(2) | NomalWindowsMediaPlayerで次のURLを指定しても反映されない。(3) | Nomal"−"を縦書きにしたい(9) | Nomal.NET6.0 のWinFormにWPFのユーザーコントロールを配置したい(4) | NomalDataGridViewの列にコンボボックスを表示する(2) | Nomalデータグリッドビューの特定の列ヘッダの色(2) | NomalVB-Report10→11への移行(4) | Nomalデフォルトプリンタの用紙向き変更(0) | NomalASP.net デバッグ時の .js ファイルの変更が反映されない(1) | NomalpictureBoxとlabelの重ね合わせ(2) | NomalWindowsエクスプローラへのドロップ先フォルダの取得(4) | Nomal入力値を元に描画させたい(2) | NomalVBで開いたExcelでのイベントを取得するには(4) | NomalデザイナでSystemColorsのような色一覧から選択できるようにしたい(0) | NomalTaskの入れ子の待ち方2(4) | NomalTaskの入れ子の待ち方(5) | NomalVisualStudio2019 以降の検索ダイアログが正常に動作しない(2) | NomalUsingの使い方が間違っている?(4) | Nomal//./の意味は?(2) | Nomalバイナリーファイルの結合と分解(2) | NomalVSTOとWebView2の共存って可能?(3) | Nomal表の最後の行の下にDropできない(1) | NomalCookieの勉強を始めました。(2) | NomalDataGridViewの特定セルにボタンを配置する方法(5) | NomalDataGridViewのセル結合部分にボタンを表示する方法(2) | Nomal複数のPageに分かれる場合のスクレ―ピング(6) | NomalTask.Runの使い方(4) | NomalPictureBox のサイズを設定する(2) | NomalProcessクラスMainModuleプロパティでアクセス拒否(3) | NomalLINQでControlsをEnable=Falseに設定(3) | Nomalランダムファイルを高速化させたい(5) |



■記事リスト / ▼下のスレッド
■35292 / 親記事)  クリックイベントでexeを作成できるか
□投稿者/ TMK 一般人(1回)-(2022/12/17(Sat) 12:07:39)
  • アイコン環境/言語:[C# (VS2008)] 
    分類:[.NET] 

    皆さま こんにちは

    ユーザーフォームのクリックイベントでexeの作成は可能なのでしょうか

    配布用exeを作ろうと思っています。
    exeの目的は、共通のファイル等の操作でヒューマンエラーが起こらないよう、
    ワンクリックで自動的に処理したいのです。

    ただ、動作させる環境を限定させたいので、多少のパラメータをexeに渡す必要があります。
    ユーザーフォームでパラメータを選択し、クリックイベントでパラメータを含んだexeを作成する(exeで参照)、
    そんな感じのプロジェクトを作成したいと思っています。
    パラメータの条件を満たさない環境では何もせずにreturnさせたいのです。

    batファイルでexeを作るようにした方が良いのかなとも思うのですが、
    使用者のことを考えるとユーザーフォームでボタンクリックの方が親切かなと思っています。

    しかし、C#では無理があることなのか私の検索方法が悪いのか、
    あまりヒントとなるネタを見つけることができません。

    ということで、最初に戻るのですが、ユーザーフォームのクリックイベントでexeを作成することは可能なのでしょうか。
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35293 / ResNo.1)  Re[1]: クリックイベントでexeを作成できるか
□投稿者/ KOZ 一般人(15回)-(2022/12/17(Sat) 12:55:31)
  • アイコンNo35292に返信(TMKさんの記事)
    > ユーザーフォームのクリックイベントでexeの作成は可能なのでしょうか

    ソースを出力してコンパイルすればいいのでは。
    「OSに標準付属のC#/VBコンパイラーでソースコードをコンパイルするには?」
    https://atmarkit.itmedia.co.jp/ait/articles/1504/15/news019.html

    パラメタを外部ファイルから読み込むようにした exe ファイルを配布し、
    外部ファイルを編集するのが一般的かなと思います。
違反を報告
引用返信
■35294 / ResNo.2)  Re[1]: クリックイベントでexeを作成できるか
□投稿者/ Hongliang 大御所(636回)-(2022/12/18(Sun) 19:42:04)
  • アイコン「exeを作成する」というとソースコードをコンパイルして実行ファイルを作成することを想像するのですが、
    ひょっとしてなさりたいことは「引数を付けて.exeを起動したい」でしょうか。
    それならば以下のページなどがありますが。
    https://dobon.net/vb/dotnet/process/shell.html
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35281 / 親記事)  作成した白黒画像をWordに貼り付けてから「図として保存」
□投稿者/ x-boy 一般人(1回)-(2022/12/15(Thu) 17:43:42)
  • アイコン環境/言語:[VB2013〜2019] 
    分類:[.NET] 

    開発環境:VB2013〜2019

    こんにちは。
    以下の.NET Tipsを参考に、白黒の画像(二値化)を作成しました。

    2値化して、1bppの白黒画像を作成する
     https://dobon.net/vb/dotnet/graphics/1bpp.html

    PixelFormatはFormat1bppIndexedで、画像ファイルはPng形式で保存しました。
    このファイルのプロパティを見ると、ビットの深さは1になっていて、
    思い通りの白黒画像が出来ました。

    ただ、この画像ファイルをWord2019でWord本文に挿入し、これを
    Wordの右クリックメニュー「図として保存」でpng形式で保存した時、
    保存した画像ファイルをペイントで開くと、色が変になっています。
    具体的には白の部分が何だかグレーっぽい色、黒の部分が透過色になっていました。

    これは画像データの作成方法に問題があるのでしょうか?
    それとも、Word側で1bpp画像をうまく扱えないのでしょうか?
    またはペイントの問題でしょうか?

    ちなみに、「図として保存」でgifやbmp形式を選択して保存するとすれば
    ペイントでも思い通りの白黒になりました。
    (ただしgifは8ビット、bmpは24ビット画像になってしまいました。)

    また、対象のWordファイルを保存して拡張子を.docx→.zipに書き換えて
    このzipファイルの中身を確認すると、Wordに貼り付けた画像がありましたが、
    この画像はきれいな白黒の1bpp画像でした。
違反を報告
引用返信

▽[全レス8件(ResNo.4-8 表示)]
■35286 / ResNo.4)  Re[4]: 作成した白黒画像をWordに貼り付けてから「図として保存」
□投稿者/ x-boy 一般人(2回)-(2022/12/16(Fri) 11:28:15)
  • アイコン皆様、ありがとうございます。
    色々調べると、Wordの「図として保存」は色々と問題があるようで、
    Word側の問題なのかも知れません。

    とりあえずは、別の1bpp形式の画像を作って試してみたいと思いますが、
    System.Drawing.BitmapのSaveでは、gif形式(ImageFormat.Gif)を指定すると
    8ビット画像になってしまうようです。

    System.Drawing.Bitmapクラスを使う以外の方法で1bpp形式の画像を生成するには
    どうすればよいでしょうか?
違反を報告
引用返信
■35287 / ResNo.5)  Re[5]: 作成した白黒画像をWordに貼り付けてから「図として保存」
□投稿者/ 魔界の仮面弁士 大御所(1503回)-(2022/12/16(Fri) 11:51:46)
  • アイコン2022/12/16(Fri) 16:50:52 編集(投稿者)

    No35281に返信(x-boyさんの記事)
    > 以下の.NET Tipsを参考に、白黒の画像(二値化)を作成しました。
    > https://dobon.net/vb/dotnet/graphics/1bpp.html

    ImageCodecInfo + EncoderParameters を指定可能な
    Save メソッドのオーバーロードを指定しても、
    Png フォーマットの細かいパラメーターは指定できないらしいです。(ただし当方未検証)
    https://social.msdn.microsoft.com/Forums/ja-JP/cbae4e4d-be5f-4a8d-a476-cf3dee6c4a49/c45png?forum=netfxgeneralja


    ということで、ImageFormat を指定する方の Save を読んで保存していますが、
    こちらで検証してみても、どうにも Word 側に問題があるっぽい感じがしますね。

    'img0.png はこれです → https://dobon.net/s/img/logo-bt1-108x24.png
    Using src As New Bitmap("E:\img0.png") _
      , dst = Create1bppImage(src)
      dst.Save("E:\img1.png", ImageFormat.Png)
      dst.Save("E:\img2.bmp", ImageFormat.Bmp)
    End Using


    (0) img0.png … 155 バイト Chunk=[IHDR, PLTE, tRNS, IDAT, IEND]
    (1) img1.png … 193 バイト Chunk=[IHDR, sRGB, gAMA, PLTE, pHYs, IDAT, IEND]
    (2) img2.bmp … 446 バイト

    --> 上記を AzConvPNG で圧縮したもの -->
    (3) img3.png … 148 バイト Chunk=[IHDR, PLTE, tRNS, IDAT, IEND]
    (4) img4.png … 135 バイト Chunk=[IHDR, PLTE, IDAT, IEND]
    (5) img5.png … 135 バイト Chunk=[IHDR, PLTE, IDAT, IEND]

    --> それらを Word に貼って「図として保存」したもの -->
    (6) img0_wd.png … 207 バイト 正常画 Chunk=[IHDR, sRGB, gAMA, PLTE, tRNS, pHYs, IDAT, IEND]
    (7) img1_wd.png … 153 バイト 色化け Chunk=[IHDR, sRGB, gAMA, PLTE, tRNS, pHYs, IDAT, IEND]
    (8) img2_wd.png … 153 バイト 色化け Chunk=[IHDR, sRGB, gAMA, PLTE, tRNS, pHYs, IDAT, IEND]
    (9) img3_wd.png … 207 バイト 正常画 Chunk=[IHDR, sRGB, gAMA, PLTE, tRNS, pHYs, IDAT, IEND]
    (10)img4_wd.png … 153 バイト 色化け Chunk=[IHDR, sRGB, gAMA, PLTE, tRNS, pHYs, IDAT, IEND]
    (11)img5_wd.png … 153 バイト 色化け Chunk=[IHDR, sRGB, gAMA, PLTE, tRNS, pHYs, IDAT, IEND]


    正常だった (6) と、化けてしまった (7) を比較してみると、
    ヘッダー, IHDR, sRGB, gAMA, tRNS, pHYs, IEND は同一ですが、
    PLTE(パレット情報) と IDAT(イメージデータ) が変質していました。
違反を報告
引用返信
■35288 / ResNo.6)  Re[6]: 作成した白黒画像をWordに貼り付けてから「図として保存」
□投稿者/ x-boy 一般人(1回)-(2022/12/16(Fri) 14:29:48)
  • アイコン2022/12/16(Fri) 14:33:22 編集(投稿者)

    魔界の仮面弁士様、ありがとうございます。
    ちなみに、

    > (0) img0.png … 155 バイト Chunk=[IHDR, PLTE, tRNS, IDAT, IEND]
    > (1) img1.png … 193 バイト Chunk=[IHDR, sRGB, gAMA, PLTE, pHYs, IDAT, IEND]

    の「Chunk=〜」は、Pngファイルのヘッダ情報でしょうか?

    これを見ると、シロートながら、#Chunk=[IHDR, PLTE, tRNS, IDAT, IEND]になっているものが色化けしていないように見えますが、さっぱり分かりません。
    (sRGBがRGB、gAMAがガンマ値かな、っていう感じですが、良く分かっていません)

    せっかくの機会ですので、ここら辺を勉強したいので、なにか解説サイトがあれば教えて頂けるとありがたいです。


違反を報告
引用返信
■35290 / ResNo.7)  Re[7]: 作成した白黒画像をWordに貼り付けてから「図として保存」
□投稿者/ 魔界の仮面弁士 大御所(1504回)-(2022/12/16(Fri) 16:39:13)
  • アイコンNo35288に返信( x-boyさんの記事)
    > の「Chunk=〜」は、Pngファイルのヘッダ情報でしょうか?

    PNG ヘッダーの後に続く構造体のことです。

    すべてのチャンクは、4 文字の case-sensitive な識別子(type)を持ち、
    それぞれ下記の構造になっています。

     ・4 バイト: "length" (チャンクの data 部のバイト数)
     ・4 バイト: "type" (4 文字でチャンクの種類を表す)
     ・可変長: "data" (チャンクのデータ本体)
     ・4 バイト: "CRC-32" (type と data の誤り検出符号)

    より詳しいレイアウトは、 No35284 で紹介したサイトをご覧ください。
    https://www.setsuki.com/hsp/ext/png.htm


    > これを見ると、シロートながら、#Chunk=[IHDR, PLTE, tRNS, IDAT, IEND]になっているものが色化けしていないように見えますが、さっぱり分かりません。
    こちらに投げてみるとわかりやすいかも。
    https://www.nayuki.io/page/png-file-chunk-inspector


    > (sRGBがRGB、gAMAがガンマ値かな、っていう感じですが、良く分かっていません)
    tRNS チャンクは 0 個 or 1 個存在し、透明度情報を保持しています。
    チャンクデータは可変長で、その構造は IHDR のカラータイプによって異なります。

    gAMA チャンクは 0 個 or 1 個存在し、内包する RGB データのリニア輝度からの
    ガンマ補正値を 4 バイトの値で保持しています。
    https://qiita.com/yoya/items/ce8dffc8a8a19746d87c

    sRGB チャンクは 0 個 or 1 個存在し、画像色が「sRGB 色空間」であることを示します。
    https://www.setsuki.com/hsp/ext/chunk/sRGB.htm
違反を報告
引用返信
■35291 / ResNo.8)  Re[8]: 作成した白黒画像をWordに貼り付けてから「図として保存」
□投稿者/ x-boy 一般人(2回)-(2022/12/16(Fri) 16:49:58)
  • アイコン魔界の仮面弁士様、ありがとうございます。
    ご教示頂いた情報を元に、自分なりに勉強してみます。

違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35278 / 親記事)  アセンブリ情報が載らない
□投稿者/ Rolulu 一般人(1回)-(2022/12/08(Thu) 18:16:40)
  • アイコン環境/言語:[VB.NET] 
    分類:[.NET] 

    はじめまして。
    VS2019でVBアプリを作っています。

    その中でMyProjectのアプリケーションにあるアセンブリ情報を入力したのですが、ビルドやデバックした実行ファイルには反映されていませんでした。
    実行ファイルのプロパティの詳細に載っているのは、種類がアプリケーションとサイズと更新日だけでした。

    アセンブリ情報がなぜ反映されないのかわからず質問させていただきました。
違反を報告
引用返信

▽[全レス1件(ResNo.1-1 表示)]
■35289 / ResNo.1)  Re[1]: アセンブリ情報が載らない
□投稿者/ shu 大御所(500回)-(2022/12/16(Fri) 16:36:34)
  • アイコンNo35278に返信(Roluluさんの記事)

    正しいと思われる操作だけでなく
    行われた操作をプロジェクト作成から
    その状態を確認するまでどのように行ったのかを
    記載された方がよいと思います。
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35270 / 親記事)  RichTextBoxのテキストをpictureBOXへ
□投稿者/ ま〜 一般人(28回)-(2022/12/05(Mon) 15:45:30)
  • アイコン環境/言語:[Windows10 VS2022 Basic] 
    分類:[.NET] 

    こんにちは
    以前、
    https://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=35233&rev=&no=0
    でLEDモニタの件で画像にすればと提案頂いて格闘していましたが玉砕気味です。
    現状は
    Dim img As Bitmap
    img = New Bitmap(Me.RichTextBox1.Width, Me.RichTextBox1.Height)
    Using g As Graphics = Graphics.FromImage(img)
    g.CopyFromScreen(Me.PointToScreen(Me.RichTextBox1.Location), New Point(0, 0), Me.RichTextBox1.Size)
    End Using
    Me.PictureBox1.Image = img

    です。転送はて来たのですがRichTextBoxの位置情報が上手く取れずに少しずれてしまいます。
    Me.RichTextBox1.Locationの値が連想出来ない数値になってます。
    色々やってみましたが私のコピペ専門の理解度では難しく教えて下さい
    初歩的な質問で申し訳ないですが宜しくお願いします






違反を報告
引用返信

▽[全レス12件(ResNo.8-12 表示)]
■35279 / ResNo.8)  Re[6]: RichTextBoxのテキストをpictureBOXへ
□投稿者/ KOZ 一般人(11回)-(2022/12/08(Thu) 18:38:13)
  • アイコン
    2022/12/09(Fri) 04:27:45 編集(投稿者)
    
    ■No35275に返信(ま〜さんの記事)
    >>高 DPI 環境で実行している場合は、ズレる可能性がありますね。
    > まさにこれが原因でした。凄いです感激です。
    
    これ動きますか?
    ちょっと問題があって、画像を縮小するせいか、少しぼやけた感じになります。
    ,NET Framework 4.7 以上なら RichTextBox の DrawToBitmap を使ったほうがいいかもしれません。
    
    Imports System.Runtime.InteropServices
    
    Public Class Form1
    
        <DllImport("User32.dll")>
        Public Shared Function LogicalToPhysicalPointForPerMonitorDPI(ByVal hwnd As IntPtr, ByRef point As Point) As Boolean
        End Function
    
        Private Shared Function LogicalToPhysicalRectangleForPerMonitorDPI(ByVal hwnd As IntPtr, ByVal r As Rectangle) As Rectangle
            Dim p1 As Point = r.Location
            Dim p2 As Point = New Point(r.Right, r.Bottom)
            LogicalToPhysicalPointForPerMonitorDPI(hwnd, p1)
            LogicalToPhysicalPointForPerMonitorDPI(hwnd, p2)
            Return Rectangle.FromLTRB(p1.X, p1.Y, p2.X, p2.Y)
        End Function
    
        Private Function LogicalToPhysicalRectangleForPerMonitorDPI(ByVal r As Rectangle) As Rectangle
            Return LogicalToPhysicalRectangleForPerMonitorDPI(Handle, r)
        End Function
    
        Public Sub New()
            InitializeComponent()
            PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
            PictureBox1.Size = RichTextBox1.Size
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim rectangle1 = RectangleToScreen(RichTextBox1.Bounds)
            Dim rectangle2 = LogicalToPhysicalRectangleForPerMonitorDPI(rectangle1)
            Dim bmp = New Bitmap(rectangle2.Width, rectangle2.Height)
            Using g = Graphics.FromImage(bmp)
                g.CopyFromScreen(rectangle2.Location, Point.Empty, rectangle2.Size)
            End Using
            If PictureBox1.Image IsNot Nothing Then
                PictureBox1.Image.Dispose()
            End If
            PictureBox1.Image = bmp
        End Sub
    
    End Class
    

違反を報告
引用返信
■35280 / ResNo.9)  Re[7]: RichTextBoxのテキストをpictureBOXへ
□投稿者/ ま〜 一般人(31回)-(2022/12/15(Thu) 13:11:41)
  • アイコンこんにちは、体調を崩して回答が遅れました。すみません。
    ご指導の様にやってみました。DPI環境でもバッチリでした。
    ありがとうございます

    ですがTabPage環境化ではズレました。
    Parentをと思って色々やってみましたが中々上手くいかずTabPage下の座標知る方法はないのでしょうか?
    以上、宜しくお願いします

違反を報告
引用返信
■35282 / ResNo.10)  Re[8]: RichTextBoxのテキストをpictureBOXへ
□投稿者/ KOZ 一般人(12回)-(2022/12/15(Thu) 18:00:28)
  • アイコン
    No35280に返信(ま〜さんの記事)
    > こんにちは、体調を崩して回答が遅れました。すみません。
    
    お大事に。
    
    > ですがTabPage環境化ではズレました。
    > Parentをと思って色々やってみましたが中々上手くいかずTabPage下の座標知る方法はないのでしょうか?
    
    むむむ、やっかいですね高DPI。
    スクリーン座標を取るのが目的でないなら、以下のコードでキャプチャはできると思います。
    
    Imports System.Runtime.InteropServices
    
    Public Class Form1
    
        Public Sub New()
            InitializeComponent()
            PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
            PictureBox1.Size = RichTextBox1.Size
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim bmp = CreateBitmapFromControl(RichTextBox1)
            If PictureBox1.Image IsNot Nothing Then
                PictureBox1.Image.Dispose()
            End If
            PictureBox1.Image = bmp
        End Sub
    
        Private Const SRCCOPY As Integer = &HCC0020
    
        <DllImport("User32.dll")>
        Private Shared Function GetWindowDC(hWnd As IntPtr) As IntPtr
        End Function
    
        <DllImport("user32.dll")>
        Private Shared Function ReleaseDC(hWnd As IntPtr, hDC As IntPtr) As Boolean
        End Function
    
        <DllImport("gdi32.dll")>
        Private Shared Function BitBlt(hdcDest As IntPtr,
                                       nXDest As Integer, nYDest As Integer,
                                       nWidth As Integer, nHeight As Integer,
                                       hdcSrc As IntPtr,
                                       nXSrc As Integer, nYSrc As Integer,
                                       dwRop As Integer) As Boolean
        End Function
    
        Private Shared Function CreateBitmapFromControl(con As Control) As Bitmap
            Dim cs = con.Size
            Dim bmp As New Bitmap(cs.Width, cs.Height)
            Using g = Graphics.FromImage(bmp)
                Dim hdcDest = g.GetHdc()
                Dim hdcSrc = GetWindowDC(con.Handle)
                BitBlt(hdcDest, 0, 0, cs.Width, cs.Height, hdcSrc, 0, 0, SRCCOPY)
                ReleaseDC(con.Handle, hdcSrc)
                g.ReleaseHdc()
            End Using
            Return bmp
        End Function
    
    End Class
    

違反を報告
引用返信
■35295 / ResNo.11)  Re[9]: RichTextBoxのテキストをpictureBOXへ
□投稿者/ ま〜 一般人(32回)-(2022/12/19(Mon) 13:37:36)
  • アイコンPCを変えたりし確認しました。
    バッチリです。
    沢山勉強になりました。
    ありがとうございます。
違反を報告
引用返信
■35296 / ResNo.12)  Re[10]: RichTextBoxのテキストをpictureBOXへ
□投稿者/ ま〜 一般人(33回)-(2022/12/19(Mon) 13:45:34)
  • アイコンクローズ忘れてました。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-9] [10-12]



■記事リスト / ▲上のスレッド
■35266 / 親記事)  c#で日付型の定義の仕方で質問があります。
□投稿者/ sun 一般人(1回)-(2022/12/02(Fri) 15:58:32)
  • アイコン環境/言語:[C#] 
    分類:[.NET] 

    はじめまして。
    C#でプログラムを組むことになったのですが、よくわからない定義の仕方がありまして、ググったのですが分かりませんでした。
    どなたかおしえていただけないでしょうか?

    下記の?の意味が分からなくて。
     public decimal? id;
     public DateTime? edate;



違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35267 / ResNo.1)  Re[1]: c#で日付型の定義の仕方で質問があります。
□投稿者/ 魔界の仮面弁士 大御所(1497回)-(2022/12/02(Fri) 17:03:40)
  • アイコン2022/12/02(Fri) 23:51:36 編集(投稿者)

    No35266に返信(sunさんの記事)
    > 下記の?の意味が分からなくて。
    >  public decimal? id;
    >  public DateTime? edate;
    これらは
     public Nullable<decimal> id;
     public Nullable<DateTime> edate;
    の省略表記です。
    こうしたデータ型は「null 許容値型」と呼ばれます。


    string や Form などは「クラス」です。
    クラスは「参照型」であり、default 値は null です。

    decimal や int や bool や DateTime は「構造体」です。
    構造体は「値型」であり、default 値はゼロです。

    そして構造体には null をセットできません。

    string a = default(string); // string a = null; と同義
    int b = default(int); // int b = 0; と同義
    bool c = default(bool); // bool c = false; と同義

    しかし Nullable<T> すなわち T? 型にすると、null が許容されます。

    int? x = null; // 0 とは異なる
    int? y = 123;
    int? z = x + y;

    たとえば bool 型は、true と false の二値のみの型ですが、
    bool? 型にすれば、true と false と null の三値を持てることになります。


    > C#でプログラムを組むことになったのですが、
    「C#」ではなく、
    「C#」と書いた方が良いでしょう。


    日本工業規格 JIS X 3015 "プログラミング言語C#"
    →序文 6 [頭字語及び略語]
    》 箇条6は,参考であって,規定ではない。
    (中略)
    》 C#は,“しーしゃーぷ”と発音する。
    》 C#は,LATIN CAPITAL LETTER C (U+0043)の次にNUMBER SIGN # (U+0023)を書く。

    ECMA-334 "C# Language Specification"
    ISO/IEC 23270:2006 "Information technology -- Programming languages -- C#"
    →Introduction 6. [Acronyms and abbreviations]
    》 The name C# is pronounced “C Sharp”.
    》 The name C# is written as the LATIN CAPITAL LETTER C (U+0043) followed by the NUMBER SIGN # (U+0023).
違反を報告
引用返信
■35268 / ResNo.2)  Re[2]: c#で日付型の定義の仕方で質問があります。
□投稿者/ sun 一般人(2回)-(2022/12/02(Fri) 20:17:34)
  • アイコンこういう書き方があるの初めて知りました。

    どういう時に使用すると有益なのか、これからいろいろと書いてみて経験していきたいと思います。

    C#も記載の仕方気をつけます。

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

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

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






Mode/  Pass/


- Child Tree -