public override void OnClick()
{
m_map = m_hookHelper.FocusMap;
// このツールが格納されているForm1を取得
try
{
// ツールバーのバディからMapControlを取得
IToolbarControl2 tlb = (IToolbarControl2)m_hookHelper.Hook;
IMapControl4 mapctrl = (IMapControl4)tlb.Buddy;
// AxMapControlが格納されているForm1を取得
IntPtr ptr = (System.IntPtr)mapctrl.hWnd;
System.Windows.Forms.Control cntrl = System.Windows.Forms.Control.FromHandle(ptr);
frm1 = cntrl.FindForm();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
// Form1のコントロールでtxtCenterX, txtCenterY, txtRadiusに値を入れる
private void SetControlProps(string sX, string sY, string sRadius)
{
try
{
System.Windows.Forms.TextBox txtX = (System.Windows.Forms.TextBox)frm1.Controls.Find("txtCenterX", true)[0];
System.Windows.Forms.TextBox txtY = (System.Windows.Forms.TextBox)frm1.Controls.Find("txtCenterY", true)[0];
System.Windows.Forms.TextBox txtRadius = (System.Windows.Forms.TextBox)frm1.Controls.Find("txtRadius", true)[0];
txtX.Text = sX ;
txtY.Text = sY ;
txtRadius.Text = sRadius;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
記事
