フォームコード内で次のようなことを試すことができます。
TextBox searchBox = new TextBox();
Timer searchTimer = new Timer();
bool keyPressed = true;
public Form1()
{
InitializeComponent();
yourDataGridView.KeyUp += new KeyEventHandler(dgv_KeyUp);
searchTimer.Interval = 5000;
this.Controls.Add(searchBox);
searchBox.KeyUp += new KeyEventHandler(searchBox_KeyUp);
searchTimer.Tick += new EventHandler(timerTick);
searchTimer.Enabled = true;
}
void searchBox_KeyUp(object sender, KeyEventArgs e)
{
keyPressed = true;
}
void dgv_KeyUp(object sender, KeyEventArgs e)
{
searchBox.Show();
searchBox.Text += e.KeyCode.ToString().ToLowerInvariant();
searchBox.Location = Cursor.Position;
searchBox.Focus();
SendKeys.Send("{Right}");
searchBox.BringToFront();
// Do your sorting of your DataGridView here according to your search box
}
void timerTick(object sender, EventArgs e)
{
keyPressed = !keyPressed;
if (keyPressed)
{
searchBox.Text = "";
searchBox.Hide();
}
}
それはあなたにポップアップ「検索」を取得します、それはTextBox
5秒後に消えます。ボックスのテキストを使用して、次のデータに適合すると思われる検索を実行できます。DataGridView