DataGridViewRowContextMenuStripNeededEventHandler 대리자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
RowContextMenuStripNeeded의 DataGridView 이벤트를 처리할 메서드를 나타냅니다.
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(System::Object ^ sender, DataGridViewRowContextMenuStripNeededEventArgs ^ e);
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(object sender, DataGridViewRowContextMenuStripNeededEventArgs e);
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(object? sender, DataGridViewRowContextMenuStripNeededEventArgs e);
type DataGridViewRowContextMenuStripNeededEventHandler = delegate of obj * DataGridViewRowContextMenuStripNeededEventArgs -> unit
Public Delegate Sub DataGridViewRowContextMenuStripNeededEventHandler(sender As Object, e As DataGridViewRowContextMenuStripNeededEventArgs)
매개 변수
- sender
- Object
이벤트 소스입니다.
이벤트 데이터를 포함하는 DataGridViewRowContextMenuStripNeededEventArgs입니다.
예제
다음 코드 예제 RowContextMenuStripNeeded 에서 이벤트는 직원의 제목에 따라 를 ContextMenuStrip 제공하기 위해 처리됩니다. 이 예제에서는 두 개의 상황에 맞는 메뉴가 있습니다. 하나는 관리자용이고 다른 하나는 다른 모든 직원용입니다.
void dataGridView1_RowContextMenuStripNeeded(object sender,
DataGridViewRowContextMenuStripNeededEventArgs e)
{
DataGridViewRow dataGridViewRow1 = dataGridView1.Rows[e.RowIndex];
toolStripMenuItem1.Enabled = true;
// Show the appropriate ContextMenuStrip based on the employees title.
if ((dataGridViewRow1.Cells["Title"].Value.ToString() ==
"Sales Manager") ||
(dataGridViewRow1.Cells["Title"].Value.ToString() ==
"Vice President, Sales"))
{
e.ContextMenuStrip = managerMenuStrip;
}
else
{
e.ContextMenuStrip = employeeMenuStrip;
}
contextMenuRowIndex = e.RowIndex;
}
Public Sub dataGridView1_RowContextMenuStripNeeded( _
ByVal sender As Object, _
ByVal e As DataGridViewRowContextMenuStripNeededEventArgs) _
Handles dataGridView1.RowContextMenuStripNeeded
Dim dataGridViewRow1 As DataGridViewRow = _
dataGridView1.Rows(e.RowIndex)
toolStripMenuItem1.Enabled = True
' Show the appropriate ContextMenuStrip based on the employees title.
If dataGridViewRow1.Cells("Title").Value.ToString() = _
"Sales Manager" OrElse _
dataGridViewRow1.Cells("Title").Value.ToString() = _
"Vice President, Sales" Then
e.ContextMenuStrip = managerMenuStrip
Else
e.ContextMenuStrip = employeeMenuStrip
End If
contextMenuRowIndex = e.RowIndex
End Sub
설명
RowContextMenuStripNeeded 이벤트에만 발생 경우를 DataGridView 컨트롤 DataSource 속성을 설정 또는 해당 VirtualMode 속성은 true
합니다. 처리는 RowContextMenuStripNeeded 이벤트는 행의 현재 상태 또는 포함 된 값에 의해 결정 된 바로 가기 메뉴를 표시 하려는 경우에 유용 합니다.
이벤트를 처리 RowContextMenuStripNeeded 할 때 사용자가 클릭된 특정 셀의 바로 가기 메뉴를 재정의하지 않는 한 CellContextMenuStripNeeded 사용자가 행을 마우스 오른쪽 단추로 클릭할 때마다 처리기에서 지정한 바로 가기 메뉴가 표시됩니다.
RowContextMenuStripNeeded 이벤트는 또한 될 때마다 발생의 값을 DataGridViewRow.ContextMenuStrip 속성은 검색 하거나 프로그래밍 방식으로 또는 사용자 행을 마우스 오른쪽 단추로 클릭할 때입니다.
사용할 수는 DataGridViewRowContextMenuStripNeededEventArgs.RowIndex 속성을 행 또는 포함 된 값의 상태를 확인 하 고이 정보를 사용 하 여 변경 하거나 수정 하는 DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip 속성입니다. 이 속성은 행의 값을 사용 하 여 초기화 ContextMenuStrip 이벤트 값을 재정의 하는 속성입니다.
처리를 RowContextMenuStripNeeded 대량의 행을 설정 하는 성능 저하를 방지 하려면 데이터를 작업할 때 이벤트 ContextMenuStrip 여러 행에 대 한 값입니다. 자세한 내용은 Windows Forms DataGridView 컨트롤의 크기를 조정하는 최선의 방법을 참조하세요.
이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.
DataGridViewRowContextMenuStripNeededEventHandler 대리자를 만들 때, 이벤트를 처리할 메서드를 식별합니다. 이벤트를 이벤트 처리기와 연결하려면 대리자의 인스턴스를 해당 이벤트에 추가합니다. 대리자를 제거하지 않는 경우 이벤트가 발생할 때마다 이벤트 처리기가 호출됩니다. 이벤트 처리기 대리자에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.
확장 메서드
GetMethodInfo(Delegate) |
지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다. |
적용 대상
추가 정보
.NET