I want to populate 1 column with another column decrypted values, the code works once, but when i press the button again i get the error "Cross-thread operation not valid".
    private DataTable LoadData()
    {
        var dt = new DataTable();
        DataSet DS = new DataSet();
        mySqlDataAdapter.Fill(DS);
        dt = DS.Tables[0];
        dataGridView1.DataSource = dt;
        dt.Columns.Add("Key");
        return dt;
    }
    //Thread - > How i can use the LoadData().Rows to not get the cross thread error ?
    public void LoadKeyColumnValues()
    {
        try
        {   //The error is here -> LoadData().Rows
            foreach (DataRow r in LoadData().Rows)
            {
               r["Key"] = Decrypt(r.Field<string>("EncryptedColumn"));
            }
        }
        catch (Exception _ex)
        {
            MessageBox.Show(_ex.ToString());
        }
        finally
        {
            LoadKeyColumn.Abort();
        }
    }
