甚至为什么我可以删除只读DataGridView上的行?
我可以将Enabled设置为false但是我甚至无法选择,我真的不需要这个灰色蒙版。
答案 0 :(得分:2)
将AllowUserToDeleteRows
属性设置为false
答案 1 :(得分:0)
ReadOnly
属性仅确定是否可以编辑单元格。它对用户删除行的能力没有影响。如果您不想禁用该控件,则可以通过将RowHeadersVisible
属性设置为false来有效防止行删除。
编辑:请参阅@ Dmitry的回答:AllowUserToDeleteRows
答案 2 :(得分:0)
执行此操作的最佳位置是datagridview的ReadOnlyChanged事件。并且不要忘记禁用添加新行。
Private Sub MyDataGridView_ReadOnlyChanged(sender As System.Object, e As System.EventArgs) Handles MyDataGridView.ReadOnlyChanged
Me.MyDataGridView.AllowUserToDeleteRows = Not Me.MyDataGridView.ReadOnly
Me.MyDataGridView.AllowUserToAddRows = Not Me.MyDataGridView.ReadOnly
End Sub
答案 3 :(得分:0)
您可以处理事件
using FlashcardMap = ::std::unordered_map<int64, Flashcard>;
using FlashcardMapEntry = FlashcardMap::value_type;
...
const FlashcardMap& GetFlashcardMap();
...
FlashcardMap flashcards_ GUARDED_BY(lock_);
...
const FlashcardMapEntry& GetCardHandler::GetRandomFlashcard()
{
const FlashcardMap& flashcards_ = Get<FlashcardContext>()->GetFlashcardMap();
const FlashcardMapEntry& entry = *( std::next(std::begin(flashcards_), rand_between(0, flashcards_.size()) ) );
return entry;
}