zoukankan      html  css  js  c++  java
  • 窗体之间传值

    传值可在副窗口cs中定义副窗口的Tag属性,结合主窗口cs中的:副窗口类名.ActiveForm.Tag属性//进行传递。

    同时须结合主窗口中定义的副窗口的FormClosing方法。

    有时候FormClosing方法结束后,窗体并没有关闭,不知为何。但是在线程结束后会关闭。

    private void 显示标注ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //没有图层时,报提示框
                if (axMapControl1.LayerCount <= 0)
                {
                    MessageBox.Show("当前无图层,无法显示标注");
                    return;
                }
    
                if (i3 % 2 == 0)
                {
                    ((IGeoFeatureLayer)axMapControl1.get_Layer(0)).DisplayAnnotation = false;
                    i3++;
                    this.显示标注ToolStripMenuItem.Text = "显示标注";
                    axMapControl1.Refresh();
                    return;
                }
    
                GetLabelFields pGetLabelFields = new GetLabelFields(axMapControl1);
                pGetLabelFields.Show();
                pGetLabelFields.FormClosing += new FormClosingEventHandler(pGetLabelFields_FormClosing);
    
                
            }
    
            void pGetLabelFields_FormClosing(object sender, FormClosingEventArgs e)
            {
                ILayer pLayer = (IGeoFeatureLayer)axMapControl1.get_Layer(0);
                string filename = null;
                filename = (string)(GetLabelFields.ActiveForm.Tag);
                AddAnnotate.ToAddAnnotate(pLayer, filename);
                axMapControl1.Refresh();
                i3++;
                this.显示标注ToolStripMenuItem.Text = "还原";
            }
    private void btnOK_Click(object sender, EventArgs e)
            {
                     string filename = null;
                foreach (GroupBox gbxLabelField in this.Controls.OfType<GroupBox>())
                {
                    foreach (RadioButton radiobutton in gbxLabelField.Controls.OfType<RadioButton>())
                    {
                        if (radiobutton.Checked == true)
                        {
                            filename = radiobutton.Text;
                        }
                    }
                }
                this.Tag =(object)filename;
                this.Close();
            }

    
    
     
    GetLabelFields类的代码没有传上来,实际上就是一个动态获得图层字段并且展示出来,前面带有radio的一个窗口,让用户选择一个字段。

  • 相关阅读:
    PythonSource Maya
    Max中ActiveX出错的解决方式
    技术美术基础知识之OLE
    MaxSDK中版本定义及对不同版本的兼容
    MaxSDK中卸载插件的方法
    MaxScript生成Gif
    将多个Shape附加给一个transform的MayaPython
    Max做履带,简单方法一则
    使用Python开发Maya导出插件的一些辅助
    MaxScript使用Flash做界面
  • 原文地址:https://www.cnblogs.com/xianerwonder/p/4296103.html
Copyright © 2011-2022 走看看