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的一个窗口,让用户选择一个字段。

  • 相关阅读:
    Redis学习笔记(九、Redis总结)
    菜鸟刷面试题(二、RabbitMQ篇)
    RabbitMQ学习笔记(八、RabbitMQ总结)
    MongoDB学习笔记(七、MongoDB总结)
    菜鸟刷面试题(一、Java基础篇)
    朋友圈点赞
    队列变换
    犯二的程度
    猴子选大王
    最大销售增幅
  • 原文地址:https://www.cnblogs.com/xianerwonder/p/4296103.html
Copyright © 2011-2022 走看看