如何在不按Ctrl键的情况下选择datagridview的多个单元格?

时间:2016-04-14 06:49:31

标签: c# winforms datagridview

我有一个datagridview控件,我用它来制作每周安排。

用户可以通过从gridview中选择多个单元格来选择不同日期的不同时间。

问题在于,一旦用户第一次选择多个单元格并想要选择更多单元格,他需要按下键盘上的Ctrl键,这对于最终用户来说非常难以使用,如果他是/她没有键盘可用,或者他不知道按Ctrl键。

我附上了快照。 如果你有,请给我任何解决方案。

enter image description here

2 个答案:

答案 0 :(得分:0)

也许您可以使用DataGridView的CellMouseDownCellMouseMoveCellMouseUp事件来执行此操作。

答案 1 :(得分:0)

您可以使用输入模拟器来保存Control键,而使用鼠标事件提到的Wudge可以解决您的问题。

http://inputsimulator.codeplex.com/releases/view/37570

private void Form1_Load(object sender, EventArgs e)
        {
            List<Person> mypeople = new List<Person>();
            mypeople.Add(new Person() { Key = 3, Value = "Turgay" });
            mypeople.Add(new Person() { Key = 4, Value = "Hamsi" });
            mypeople.Add(new Person() { Key = 5, Value = "Cabbar" });

            dataGridView1.DataSource = mypeople;


            dataGridView1.MouseEnter += DataGridView1_MouseEnter;
            dataGridView1.MouseLeave += DataGridView1_MouseLeave;
        }

        private void DataGridView1_MouseEnter(object sender, EventArgs e)
        {
            InputSimulator.SimulateKeyDown(VirtualKeyCode.CONTROL);
        }

        private void DataGridView1_MouseLeave(object sender, EventArgs e)
        {
            InputSimulator.SimulateKeyUp(VirtualKeyCode.CONTROL);
        }