- ベストアンサー
Listviewに表示された文字のコピーペースト
VB2005を使っています。 Listviewに表示された文字をコピーペーストを試みましたができませんでした。 プロパティを見ても、設定箇所が見あたりませんでした。 コピーペーストする方法をご存じでしたらご教授お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No4です 修正前 Dim t1 As String = "" 修正後 Dim t1 As String = " "
その他の回答 (4)
- tom11
- ベストアンサー率53% (134/251)
図の様に、フォームで、選んだ項目を イベントで拾い、クリップボードに転送 メモ帳に貼り付け(これは、手作業) が、以下のコードで出来ますけど Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ListView1.View = View.Details ListView1.Items.Add(New ListViewItem(New String() {"おはよう", "80"})) ListView1.Items.Add(New ListViewItem(New String() {"こんにちは", "5"})) ListView1.Items.Add(New ListViewItem(New String() {"おやすみ", "100"})) ListView1.Columns.Add("文字列", 100, HorizontalAlignment.Left) ListView1.Columns.Add("数字", 100, HorizontalAlignment.Right) End Sub Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged Dim si As ListView.SelectedListViewItemCollection = Me.ListView1.SelectedItems Dim item As ListViewItem Dim t1 As String = "" For Each item In si t1 = t1 + " " + item.SubItems(0).Text + ":" + item.SubItems(1).Text Next Debug.Print(t1) My.Computer.Clipboard.SetText(t1) End Sub End Class
- tom11
- ベストアンサー率53% (134/251)
>Clipboardクラスを使う? >もっと簡単に、Listviewに表示された文字を、単純にコピーしたいだけなのですが。。 ちょっと興味を持ったので、一言 Listviewの選ばれた、文字??をコピーしたのですか?? Listviewのイベントで、文字を選ぶと 選ばれた文字を拾って、クリップボードに転送すれば ボタンを押す必要も、無いような気もします。
補足
回答ありがとうございます。 > Listviewの選ばれた、文字??をコピーしたのですか?? その通りです。 プログラムを実行し、画面上に表示された文字をコピーしたいのです。 ただ、今気がついたのですが、コピーできないのは、Listviewだけでは ないですね。 Labelのテキストも拾えません。 そういうものなんですかねえ。 それとも、私のフォーム設定やコントロール設定が、根本的に間違って いるのでしょうか。。
- redfox63
- ベストアンサー率71% (1325/1856)
ListViewのアイテムラベルの編集を有効にするには 『LabelEdit』プロパティを有効にしないといけないかと ・・・ ただし これで編集できるのはListViewItemクラスのオブジェクトだけのようです ListViewSubItemの編集は出来なさそうですよ
お礼
回答ありがとうございます。 参考にさせていただきます。
- ken2r
- ベストアンサー率25% (1/4)
Clipboardクラスを使う? 外してたらゴメンナサイ
補足
なるほど、そういうクラスがあったのですね。 ただ、これですと、「ボタンを押すと、Listviewに表示された文字をクリップボード にコピーする」といったプログラムは作れそうですが、もっと簡単に、 Listviewに表示された文字を、単純にコピーしたいだけなのですが。。 それは、仕様で無理なのでしょうか?
お礼
回答ありがとうございます。 ご提示された方法で、うまくいきました。 わざわざコードまで掲載してくださってありがとうございます。 フォーム上に掲載されたコンポーネントの文字列は、Listviewに限らず このやり方を応用すればコピーできそうですね。