Datagridview cell 입력중 이벤트 관련 질문

안녕하세요 C# 독학중인 직장인입니다. 고수 형님들의 지식을 공유받고자 글을 올립니다…

C# datagridview editingControlShowing 으로 자동완성 기능을 사용하고있는데

cell을 수정하면 이벤트가 실행되는데 이벤트를 발생하게 했더 입력문자는 반영되지 않은채

이벤트가 실행될때 이 입력문자까지 반영하고 자동완성 필터를 사용하고 싶습니다.

다른 이벤트를 이용할 때 DatagridviewCell를 Textbox로 선언해서 사용할 수 있는 방법 또는

editingControlShowing 이벤트에서 입력한 문자까지 반영하여 사용할 수 있는 방법을 알고싶습니다.

(EndEdit() 명령어는 입력 커서가 자꾸 없어지고 cell자체가 수정 완료되서 사용할 수 없어요.)

//자동완성 드롭박스
private void dgvBusiness_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
  TextBox autoText = e.Control as TextBox;
  
  if (titleText.Equals("company"))
  
  {
  
  if (autoText != null)
  
  {
  
  autoText.AutoCompleteMode = AutoCompleteMode.Suggest;
  
  autoText.AutoCompleteSource = AutoCompleteSource.CustomSource;
  
  AutoCompleteStringCollection DataCollection = new AutoCompleteStringCollection();
  
  addCompanyItems(DataCollection);
  
  autoText.AutoCompleteCustomSource = DataCollection;
  
  }
  
  else
  
  {
  
  autoText.AutoCompleteMode = AutoCompleteMode.None;
  
  autoText.AutoCompleteSource = AutoCompleteSource.None;
  
  autoText.AutoCompleteCustomSource = null;
  
  }
}

음… 관련된 부분을 해보지 않아서 잘모르지만… 이벤트가 필요한 상황인가요?
자동완성이란게… 굉장히 광범위 인가요? (Example 네이버 검색처럼 아주 많은 키워드에 대응이 가능…)

image

자동완성 기능을 특정조건에만 동작해야 할 이유가 있나요?
(자료를 보면 느낌이 이벤트처리를 안해도 자동으로 처리해주는 것 같네요)

참조 Docs : TextBox.AutoCompleteMode 속성

자동완성 Event 정리 글 : Autocomplete Events in Windows Forms AutoComplete

자동완성 필터 정리 글 : How to Create AutoComplete TextBox in C#

유튜브 : Auto complete in DataGridView TextBox Cell in C#

번외로 Winform… WPF, MAUI… 플랫폼?을 알고 싶습니다.


질문 해석
의도 : TextAB이면 AB에 대해서 자동완성 키워드를 보여주고 싶다.
그런데 이벤트 처리를 잘 못 한건지 AB를 타이핑하면 A에 대해 키워드를 보여준다

현재도 말씀해주신 Textbox.AutoCompleteMode를 활요하고 있습니다.

하지만 문제는 위 사진처럼 실제 입력한 글자는 “민속” 입니다.
하지만 화면에 나오는 cell값과 자동완성 필터목록은 “민” 까지만 반영된채 나오고있습니다.

이 부분을 정확히 입력한 부분까지 반영시켜서 필터하고 싶은데 어떻게하죠?

같은 상황이 재현이 되지 않아, 솔루션을 드리기 어려울 것 같습니다
죄송합니다. :smiling_face_with_tear:

셀 편집을 위한 컨트롤이 표시될 때 발생합니다.

말씀을 드리자면 해당 이벤트는 계속해서 발생하는 이벤트는 아닌거 같습니다.
DataGridView.EditingControlShowing Event는 단순히 자동완성 기능을 On, Off 컨트롤하는 것으로 추측이 됩니다…

그 뜻은 이벤트 설정과는 관련이 없을것 같다고 말씀을 드립니다.

Text가 변경되는 것에 실시간으로 반응하고 싶다면 DataGridView.TextChanged Event 를 추천드립니다.

여기까지가 제 추측이구요.

고수님들이 답변해주실겁니다. 감사합니다.