So, to get the value of the control (not the binding), you will need to use reflection.
using System.Reflection;
private void epiButtonC1_Click(object sender, System.EventArgs args)
{
// ** Place Event Handling Code Here **
EpiCurrencyConver field = (EpiCurrencyConver)csm.GetNativeControlReference("c7457526-103e-4f8a-a194-c08416968354");
EpiCurrencyEditor baseCurEdit = (EpiCurrencyEditor)field.GetType().GetField("curBaseCurrency",BindingFlags.GetField | BindingFlags.Instance | BindingFlags.NonPublic).GetValue(field);
MessageBox.Show(baseCurEdit.Value.ToString());
}
If you want the value from the database binding, steer clear of that method as you cannot update the database with that code.
You would need to get the value from the EpiBinding.
// Change ProjectCst to your view name
var edv = oTrans.Factory("ProjectCst");
edv.dataView[edv.Row].BeginEdit();
// The DataViewColumnName would be whatever the EpiBinding is.
// For example, if it's ProjectCst.LaborHours, then put ["LaborHours"]
edv.dataView[edv.Row]["DataViewColumnName"] = dr["Calculated_Total_Labor_Hours"].ToString();
edv.dataView[edvRow].EndEdit();
Just for reference, the EpiCurrencyConver is a composite control that encapsulates 5 different EpiCurrencyEditor controls. You will need to reflect on each different control name to get the value of each of the 5.
Base: curBaseCurrency
Doc: curDocCurrency
Rpt1: curRpt1
Rpt2: curRpt2
Rpt3: curRpt3