tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Labelのダブルクリックでテキストのコピーが邪魔
投稿日: 2025/05/26(Mon) 23:24
投稿者たこやき
マイクロソフトの中の○×△□がバージョンアップするときに余計なことをしたらしいです。
Labelをダブルクリックをすると、Label.Textがクリップボードに自動コピーされるように変わったそうです。

新しいバージョンではe.Cancel=Trueで自動コピーを停止できますが、
古いバージョンではe.Cancelのメンバー自体がありません。

なのに、自動コピーをデフォルトにしたようです。
つまり自動コピーを普通に止めることができません。
愚かで愚かで迷惑千万な話です。

仕方が無いのでコーディングしてみました。
透明のPictureBoxをLabelの上に載せて、Labelを直接クリックできなくしましたが、
…泥臭くて格好悪いです。

    Private Shared Function CoverLabelWithPictureBox( _
        ByVal Label As System.Windows.Forms.Label _
    ) As Integer
'省略割愛
            Return CoverLabelWithPictureBox(Label, New System.Windows.Forms.PictureBox)
'省略割愛
    End Function

    Private Shared Function CoverLabelWithPictureBox( _
        ByVal Label As System.Windows.Forms.Label, _
        ByVal PictureBox As System.Windows.Forms.PictureBox _
    ) As Integer
'省略割愛
        Dim lbl As System.Windows.Forms.Label
        Dim pct As System.Windows.Forms.PictureBox
'省略割愛
            lbl = Label
            pct = PictureBox

            If pct.BackColor <> Color.Transparent Then pct.BackColor = Color.Transparent
            If pct.Left <> 0 Then pct.Left = 0
            If pct.Top <> 0 Then pct.Top = 0
            If pct.Width <> lbl.Width Then pct.Width = lbl.Width
            If pct.Height <> lbl.Height Then pct.Height = lbl.Height
            If Not pct.Parent Is lbl Then pct.Parent = lbl
'省略割愛
'おまけ、'Private WithEvents PictureBox1 As New System.Windows.Forms.PictureBox
    End Function


この泥臭いコードより、良い感じのコードがあるなら、教えてください。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。