Попробуйте это ...
Создать Form1, не изменить размер, добавить dataGridView1 и установить якорь слева, сверху и справа, а затем ...Странное поведение на DataGridView, ориентированные клетки не прокручивать горизонтально
public class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.AutoGenerateColumns = true;
var source = new BindingList<Comic>(GetComics());
dataGridView1.DataSource = source;
}
private List<Comic> GetComics()
{
var comics = new List<Comic>();
comics.Add(new Comic() { id = "1", title = "IronMan", editr = "LayneBooks", pages = 65, owned = true });
comics.Add(new Comic() { id = "2", title = "The Hulk", editr = "LayneBooks", pages = 48, owned = false });
comics.Add(new Comic() { id = "3", title = "Superman", editr = "DCCore", pages = 72, owned = true });
return comics;
}
// Custom class, source for grid
private class Comic
{
public string id { get; set; }
public string title { get; set; }
public string editr { get; set; }
public int pages { get; set; }
public bool owned { get; set; }
}
Как мы знаем, мы можем перейти от ячейки к ячейке с помощью клавиш со стрелками или с помощью клавиши Tab (когда StandardTab = false
) и достигнуть углов сетки с помощью клавиш Ctrl +.
Все в порядке с этим кодом, ячейки сфокусированы и выбраны с помощью клавиш, но при изменении ширины столбцов невидимые ячейки сфокусированы, но не показаны.
Например, используя вышеприведенный код, если ширина первого и второго столбцов уменьшается до 20-30% от его первоначального размера, то правый угол не достигается, нажимая Ctrl + правую клавишу.
Если ширина третьей колонки также уменьшена, и мы пытаемся достичь последней с помощью правых клавиш (или Tab), ячейка фокусируется, но не отображается полностью (или абсолютно).
Как это решить ?, изменить ширину столбцов и получить тот же самый beahviour, что и при автогенерации. Есть ли какое-либо имущество, которое мне не хватает? Моя цель - перемещаться по ячейкам с помощью клавиш и показывать контекстное меню при нажатии Keys.Apps
, но не может сделать это, если ячейка не видна.
Спасибо!
спасибо, он работает, но довольно раздражает, чтобы щелкнуть по ячейке посередине и перейти к началу сетки. Я хочу знать, почему это происходит? – Shin
Я добавил строку, чтобы исправить проблему щелчком. – user3093781