У меня есть приложение Windows, и я использую datagridview для отображения данных из базы данных, когда пользователь видит данные, которые он изменит ширину столбцов, и закрывает приложение при открытии в следующий раз, когда ширина столбца будет установлена по умолчанию, как сохранить пользователя введенная ширина.
Bind datagridview с измененной шириной столбца ColumnWidthChanged of datagridview и устанавливает ширину каждого столбца в настройке (самый простой способ сохранить значение пользовательской настройки). Позже, снова загрузив datagridview
, получите ширину, сохраненную в настройке, и установите ее в соответствующем столбце.
Вы можете связать событие с измененным столбцом:
void dataGridView1_ColumnWidthChanged(object sender,
DataGridViewColumnEventArgs e)
{
Properties.Settings.Default.Column1= dataGridView1.Columns[1].Width;
// Set the width of every column of datagridview here
Properties.Settings.Default.Save();// Save setting after setting all column width
}
Теперь вы можете использовать эту настройку при загрузке datagridview
:
dataGridView1.Columns[1].Width = Properties.Settings.Default.Column1;
Вы можете использовать событие OnFormClosing; например:
Private Sub onformclosing(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.OnFormClosing
Dim x As Integer = DataGridView1.ColumnCount
Dim widths As Integer()
For i As Integer = 0 To x Step 1
widths(i) = DataGridView1.Columns(i).Width
Next
End Sub
Затем вы можете записать значения widths() в файл конфигурации или настроек. Вам также нужно будет написать число столбцов (в моем примере, переменную x), чтобы вы могли воссоздать количество столбцов. Надеюсь это поможет :)
Вы можете выполнить это несколькими способами, наиболее распространенным и быстрым будет использование ApplicationSettingsBase
. Чтобы увидеть пример, просмотрите его, поскольку он очень детализирован в том, что вы хотите сделать. Несколько других способов включают:.XML, файл ApplicationConfiguration, реестр (не рекомендуется - только для параметров приложения), файл или сохранять эти настройки в базе данных и извлекать их, кто когда-либо вошел в систему.
Вы не указали, как пользователи обращаются к вашему приложению, поэтому для меня и для кого-то еще нужно ответить, так как это важно, чтобы дать вам правильное руководство по хранению и доступу к этой информации.
В другой заметке я бы использовал XML лично, если вы не используете базу данных для пользователей. Классы для XML отлично в.Net и могут быть быстро завершены в классе для чтения/записи ваших настроек.
Существует несколько разных способов, но проще всего обработать событие Закрыто (или Закрытие) для Формы и сохранить каждую ширину во встроенный файл настроек.
Затем вы можете "восстановить" эти ширины в методе инициализации для формы.