C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DataGridViewのセル内データのコピー

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■87494 / inTopicNo.1)  DataGridViewのセル内データのコピー
  
□投稿者/ Pinga (1回)-(2018/05/29(Tue) 10:22:01)

分類:[VB.NET/VB2005 以降] 

開発言語【VB2012】

お世話になっております。

DataGridViewにてデータを表示しております。
各セル内容のコピーは可能とし、
(マウスにてセル内データを範囲選択し右クリックしてコピーまたはCtrl+Cでコピー)
セルの内容は変更不可(キーボードの入力、Ctrl+V、右クリックして貼付、切取不可)
としたいのですが可能でしょうか?

ReadOnlyをTrueにすればデータ変更不可となるのですが、
データ範囲選択でのコピーができす困っています。

良い案があれば教えて頂けますでしょうか?
宜しくお願い致します。



引用返信 編集キー/
■87498 / inTopicNo.2)  Re[1]: DataGridViewのセル内データのコピー
□投稿者/ 魔界の仮面弁士 (1692回)-(2018/05/29(Tue) 10:59:36)
No87494 (Pinga さん) に返信
> 各セル内容のコピーは可能とし、
「1 つのセル内のテキストを一部選択した状態」でコピーしたいのでしょうか。
それとも、「複数のセル範囲を選択した状態」でコピーしたいのでしょうか。


前者だとすれば、
 DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
 DataGridView1.ReadOnly = False
にしておいた上で、
 Private Sub DataGridView1_EditingControlShowing(sender As Object, _
  e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
   Dim txt = TryCast(e.Control, DataGridViewTextBoxEditingControl)
   If txt IsNot Nothing Then
    txt.ReadOnly = True
   End If
 End Sub
とか。


後者だとすれば、ClipboardCopyMode を Disable にでもしない限りは、
DataGridView1.ReadOnly = True だとしても、特に問題なく動作するはず。
引用返信 編集キー/
■87509 / inTopicNo.3)  Re[2]: DataGridViewのセル内データのコピー
□投稿者/ Pinga (2回)-(2018/05/29(Tue) 13:57:39)
魔界の仮面弁士様

言葉足らずで申し訳ありません。
「1つのセル内のテキストを一部選択した状態でコピーを行いたい」でした。

教えて頂いた方法で、コピーが可能となりました。
ありがとうございます。
とても助かりました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ