/// <summary> /// Opens a file/loads if has encryption/authentication /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OpenToolStripMenuItem_Click(object sender, EventArgs e) { var openFileDialog = new OpenFileDialog(); openFileDialog.DefaultExt = ".jpg"; openFileDialog.Filter = "Image types (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png"; var result = openFileDialog.ShowDialog(); if (result != DialogResult.OK) { return; } AuthenticationState.ImageFilePath = openFileDialog.FileName; StatusLabel.Text = $"{AuthenticationState.ImageFilePath}"; AuthenticationDataGridView.Enabled = true; AuthenticationDataGridView.DataSource = null; if (AuthenticationState.IsAuthenticatedFile()) { _authenticationModels = AuthenticationState.Load(); AuthenticationDataGridView.DataSource = _authenticationModels; } else { _authenticationModels = new BindingList <AuthenticationModel> { new AuthenticationModel() }; } AuthenticationDataGridView.Invalidate(); }
/// <summary> /// Creates a new row/object /// </summary> /// <param name="msg"></param> /// <param name="keyData"></param> /// <returns></returns> protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (AuthenticationDataGridView.Focused && keyData == Keys.Tab && AuthenticationDataGridView.CurrentCell.ColumnIndex == AuthenticationDataGridView.Columns.Count - 1 && AuthenticationDataGridView.CurrentRow.Index == AuthenticationDataGridView.RowCount - 1) { AuthenticationDataGridView.BeginEdit(false); AuthenticationDataGridView.NotifyCurrentCellDirty(true); AuthenticationDataGridView.EndEdit(); } return(base.ProcessCmdKey(ref msg, keyData)); }
/// <summary> /// De-selects first row/column once binding is complete /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AuthenticationDataGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { AuthenticationDataGridView.ClearSelection(); }