// Decompiled with JetBrains decompiler
// Type: HPG_68D.ChannelMsg
// Assembly: HPG-68D, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 530C99A8-8EEF-42C8-8A74-66FDE7B322C3
// Assembly location: C:\Program Files (x86)\HONGKAIDE\HPG-68D\HPG-68D.exe

using HPG_68D.My;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Runtime.CompilerServices;
using System.Windows.Forms;

namespace HPG_68D
{
    [DesignerGenerated]
    public class ChannelMsg : Form
    {
        private static ArrayList __ENCList = new ArrayList();
        private IContainer components;
        [AccessedThroughProperty("ChannelMsgDataGridView")]
        private DataGridView _ChannelMsgDataGridView;
        [AccessedThroughProperty("Panel1")]
        private Panel _Panel1;
        [AccessedThroughProperty("Button3")]
        private Button _Button3;
        [AccessedThroughProperty("Button2")]
        private Button _Button2;
        [AccessedThroughProperty("Button1")]
        private Button _Button1;
        [AccessedThroughProperty("Button信道编辑")]
        private Button _Button信道编辑;
        [AccessedThroughProperty("ColumnRxFreq")]
        private DataGridViewTextBoxColumn _ColumnRxFreq;
        [AccessedThroughProperty("Column差频方向")]
        private DataGridViewComboBoxColumn _Column差频方向;
        [AccessedThroughProperty("ColumnTxFreq")]
        private DataGridViewTextBoxColumn _ColumnTxFreq;
        [AccessedThroughProperty("Column亚音解码类型")]
        private DataGridViewComboBoxColumn _Column亚音解码类型;
        [AccessedThroughProperty("Column亚音解码")]
        private DataGridViewComboBoxColumn _Column亚音解码;
        [AccessedThroughProperty("Column亚音编码类型")]
        private DataGridViewComboBoxColumn _Column亚音编码类型;
        [AccessedThroughProperty("Column亚音编码")]
        private DataGridViewComboBoxColumn _Column亚音编码;
        [AccessedThroughProperty("Column发射功率")]
        private DataGridViewComboBoxColumn _Column发射功率;
        [AccessedThroughProperty("Column扫描添加")]
        private DataGridViewComboBoxColumn _Column扫描添加;
        [AccessedThroughProperty("Column带宽")]
        private DataGridViewComboBoxColumn _Column带宽;
        [AccessedThroughProperty("Column可选信令")]
        private DataGridViewComboBoxColumn _Column可选信令;
        [AccessedThroughProperty("Column更多")]
        private DataGridViewButtonColumn _Column更多;

        [DebuggerNonUserCode]
        static ChannelMsg()
        {
        }

        [DebuggerNonUserCode]
        public ChannelMsg()
        {
            Deactivate += ChannelMsg_Deactivate;
            FormClosing += ChannelMsg_FormClosing;
            Load += ChannelMsg_Load;
            __ENCList.Add(new WeakReference(this));
            InitializeComponent();
        }

        [DebuggerNonUserCode]
        protected override void Dispose(bool disposing)
        {
            if (disposing && components != null)
                components.Dispose();
            base.Dispose(disposing);
        }

        [DebuggerStepThrough]
        private void InitializeComponent()
        {
            var gridViewCellStyle1 = new DataGridViewCellStyle();
            var gridViewCellStyle2 = new DataGridViewCellStyle();
            var componentResourceManager = new ComponentResourceManager(typeof(ChannelMsg));
            var gridViewCellStyle3 = new DataGridViewCellStyle();
            var gridViewCellStyle4 = new DataGridViewCellStyle();
            var gridViewCellStyle5 = new DataGridViewCellStyle();
            var gridViewCellStyle6 = new DataGridViewCellStyle();
            ChannelMsgDataGridView = new DataGridView();
            Panel1 = new Panel();
            Button3 = new Button();
            Button2 = new Button();
            Button1 = new Button();
            Button信道编辑 = new Button();
            ColumnRxFreq = new DataGridViewTextBoxColumn();
            Column差频方向 = new DataGridViewComboBoxColumn();
            ColumnTxFreq = new DataGridViewTextBoxColumn();
            Column亚音解码类型 = new DataGridViewComboBoxColumn();
            Column亚音解码 = new DataGridViewComboBoxColumn();
            Column亚音编码类型 = new DataGridViewComboBoxColumn();
            Column亚音编码 = new DataGridViewComboBoxColumn();
            Column发射功率 = new DataGridViewComboBoxColumn();
            Column扫描添加 = new DataGridViewComboBoxColumn();
            Column带宽 = new DataGridViewComboBoxColumn();
            Column可选信令 = new DataGridViewComboBoxColumn();
            Column更多 = new DataGridViewButtonColumn();
            ((ISupportInitialize) ChannelMsgDataGridView).BeginInit();
            Panel1.SuspendLayout();
            SuspendLayout();
            ChannelMsgDataGridView.AllowUserToAddRows = false;
            ChannelMsgDataGridView.AllowUserToDeleteRows = false;
            ChannelMsgDataGridView.AllowUserToResizeColumns = false;
            ChannelMsgDataGridView.AllowUserToResizeRows = false;
            gridViewCellStyle1.Alignment = DataGridViewContentAlignment.MiddleCenter;
            ChannelMsgDataGridView.AlternatingRowsDefaultCellStyle = gridViewCellStyle1;
            gridViewCellStyle2.Alignment = DataGridViewContentAlignment.MiddleCenter;
            gridViewCellStyle2.BackColor = SystemColors.Control;
            gridViewCellStyle2.Font = new Font("宋体", 9f, FontStyle.Regular, GraphicsUnit.Point, 134);
            gridViewCellStyle2.ForeColor = SystemColors.WindowText;
            gridViewCellStyle2.SelectionBackColor = SystemColors.Highlight;
            gridViewCellStyle2.SelectionForeColor = SystemColors.HighlightText;
            gridViewCellStyle2.WrapMode = DataGridViewTriState.True;
            ChannelMsgDataGridView.ColumnHeadersDefaultCellStyle = gridViewCellStyle2;
            componentResourceManager.ApplyResources(ChannelMsgDataGridView, "ChannelMsgDataGridView");
            ChannelMsgDataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
            ChannelMsgDataGridView.Columns.AddRange(ColumnRxFreq, Column差频方向, ColumnTxFreq, Column亚音解码类型, Column亚音解码, Column亚音编码类型, Column亚音编码,
                Column发射功率, Column扫描添加, Column带宽, Column可选信令, Column更多);
            ChannelMsgDataGridView.Name = "ChannelMsgDataGridView";
            gridViewCellStyle3.Alignment = DataGridViewContentAlignment.MiddleCenter;
            gridViewCellStyle3.BackColor = SystemColors.Control;
            gridViewCellStyle3.Font = new Font("宋体", 9f, FontStyle.Regular, GraphicsUnit.Point, 134);
            gridViewCellStyle3.ForeColor = SystemColors.WindowText;
            gridViewCellStyle3.SelectionBackColor = SystemColors.Highlight;
            gridViewCellStyle3.SelectionForeColor = SystemColors.HighlightText;
            gridViewCellStyle3.WrapMode = DataGridViewTriState.True;
            ChannelMsgDataGridView.RowHeadersDefaultCellStyle = gridViewCellStyle3;
            ChannelMsgDataGridView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
            gridViewCellStyle4.Alignment = DataGridViewContentAlignment.MiddleCenter;
            ChannelMsgDataGridView.RowsDefaultCellStyle = gridViewCellStyle4;
            ChannelMsgDataGridView.RowTemplate.Height = 23;
            componentResourceManager.ApplyResources(Panel1, "Panel1");
            Panel1.BorderStyle = BorderStyle.Fixed3D;
            Panel1.Controls.Add(ChannelMsgDataGridView);
            Panel1.Name = "Panel1";
            componentResourceManager.ApplyResources(Button3, "Button3");
            Button3.Name = "Button3";
            Button3.UseVisualStyleBackColor = true;
            componentResourceManager.ApplyResources(Button2, "Button2");
            Button2.Name = "Button2";
            Button2.UseVisualStyleBackColor = true;
            componentResourceManager.ApplyResources(Button1, "Button1");
            Button1.Name = "Button1";
            Button1.UseVisualStyleBackColor = true;
            componentResourceManager.ApplyResources(Button信道编辑, "Button信道编辑");
            Button信道编辑.Name = "Button信道编辑";
            Button信道编辑.UseVisualStyleBackColor = true;
            gridViewCellStyle5.Alignment = DataGridViewContentAlignment.MiddleCenter;
            ColumnRxFreq.DefaultCellStyle = gridViewCellStyle5;
            componentResourceManager.ApplyResources(ColumnRxFreq, "ColumnRxFreq");
            ColumnRxFreq.MaxInputLength = 9;
            ColumnRxFreq.Name = "ColumnRxFreq";
            ColumnRxFreq.Resizable = DataGridViewTriState.False;
            ColumnRxFreq.SortMode = DataGridViewColumnSortMode.NotSortable;
            Column差频方向.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column差频方向, "Column差频方向");
            Column差频方向.Items.AddRange("OFF", "DUP -", "DUP +");
            Column差频方向.Name = "Column差频方向";
            componentResourceManager.ApplyResources(ColumnTxFreq, "ColumnTxFreq");
            ColumnTxFreq.MaxInputLength = 9;
            ColumnTxFreq.Name = "ColumnTxFreq";
            ColumnTxFreq.SortMode = DataGridViewColumnSortMode.NotSortable;
            Column亚音解码类型.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column亚音解码类型, "Column亚音解码类型");
            Column亚音解码类型.Items.AddRange("OFF", "TONE", "CTCSS", "DCS");
            Column亚音解码类型.Name = "Column亚音解码类型";
            Column亚音解码.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column亚音解码, "Column亚音解码");
            Column亚音解码.Items.AddRange("OFF", "67.0", "69.3", "71.9", "74.4", "77.0", "79.7", "82.5", "85.4", "88.5", "91.5", "94.8", "97.4", "100.0",
                "103.5", "107.2", "110.9", "114.8", "118.8", "123.0", "127.3", "131.8", "136.5", "141.3", "146.2", "151.4", "156.7", "159.8", "162.2",
                "165.5", "167.9", "171.3", "173.8", "177.3", "179.9", "183.5", "186.2", "189.9", "192.8", "196.6", "199.5", "203.5", "206.5", "210.7",
                "218.1", "225.7", "229.1", "233.6", "241.8", "250.3", "254.1", "D017N", "D023N", "D025N", "D026N", "D031N", "D032N", "D036N", "D043N",
                "D047N", "D050N", "D051N", "D053N", "D054N", "D065N", "D071N", "D072N", "D073N", "D074N", "D114N", "D115N", "D116N", "D122N", "D125N",
                "D131N", "D132N", "D134N", "D143N", "D145N", "D152N", "D155N", "D156N", "D162N", "D165N", "D172N", "D174N", "D205N", "D212N", "D223N",
                "D225N", "D226N", "D243N", "D244N", "D245N", "D246N", "D251N", "D252N", "D255N", "D261N", "D263N", "D265N", "D266N", "D271N", "D274N",
                "D306N", "D311N", "D315N", "D325N", "D331N", "D332N", "D343N", "D346N", "D351N", "D356N", "D364N", "D365N", "D371N", "D411N", "D412N",
                "D413N", "D423N", "D431N", "D432N", "D445N", "D446N", "D452N", "D454N", "D455N", "D462N", "D464N", "D465N", "D466N", "D503N", "D506N",
                "D516N", "D523N", "D526N", "D532N", "D546N", "D565N", "D606N", "D612N", "D624N", "D627N", "D631N", "D632N", "D645N", "D654N", "D662N",
                "D664N", "D703N", "D712N", "D723N", "D731N", "D732N", "D734N", "D743N", "D754N", "D017I", "D023I", "D025I", "D026I", "D031I", "D032I",
                "D036I", "D043I", "D047I", "D050I", "D051I", "D053I", "D054I", "D065I", "D071I", "D072I", "D073I", "D074I", "D114I", "D115I", "D116I",
                "D122I", "D125I", "D131I", "D132I", "D134I", "D143I", "D145I", "D152I", "D155I", "D156I", "D162I", "D165I", "D172I", "D174I", "D205I",
                "D212I", "D223I", "D225I", "D226I", "D243I", "D244I", "D245I", "D246I", "D251I", "D252I", "D255I", "D261I", "D263I", "D265I", "D266I",
                "D271I", "D274I", "D306I", "D311I", "D315I", "D325I", "D331I", "D332I", "D343I", "D346I", "D351I", "D356I", "D364I", "D365I", "D371I",
                "D411I", "D412I", "D413I", "D423I", "D431I", "D432I", "D445I", "D446I", "D452I", "D454I", "D455I", "D462I", "D464I", "D465I", "D466I",
                "D503I", "D506I", "D516I", "D523I", "D526I", "D532I", "D546I", "D565I", "D606I", "D612I", "D624I", "D627I", "D631I", "D632I", "D645I",
                "D654I", "D662I", "D664I", "D703I", "D712I", "D723I", "D731I", "D732I", "D734I", "D743I", "D754I");
            Column亚音解码.Name = "Column亚音解码";
            Column亚音编码类型.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column亚音编码类型, "Column亚音编码类型");
            Column亚音编码类型.Items.AddRange("OFF", "TONE", "CTCSS", "DCS");
            Column亚音编码类型.Name = "Column亚音编码类型";
            Column亚音编码.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column亚音编码, "Column亚音编码");
            Column亚音编码.Items.AddRange("OFF", "67.0", "69.3", "71.9", "74.4", "77.0", "79.7", "82.5", "85.4", "88.5", "91.5", "94.8", "97.4", "100.0",
                "103.5", "107.2", "110.9", "114.8", "118.8", "123.0", "127.3", "131.8", "136.5", "141.3", "146.2", "151.4", "156.7", "159.8", "162.2",
                "165.5", "167.9", "171.3", "173.8", "177.3", "179.9", "183.5", "186.2", "189.9", "192.8", "196.6", "199.5", "203.5", "206.5", "210.7",
                "218.1", "225.7", "229.1", "233.6", "241.8", "250.3", "254.1", "D017N", "D023N", "D025N", "D026N", "D031N", "D032N", "D036N", "D043N",
                "D047N", "D050N", "D051N", "D053N", "D054N", "D065N", "D071N", "D072N", "D073N", "D074N", "D114N", "D115N", "D116N", "D122N", "D125N",
                "D131N", "D132N", "D134N", "D143N", "D145N", "D152N", "D155N", "D156N", "D162N", "D165N", "D172N", "D174N", "D205N", "D212N", "D223N",
                "D225N", "D226N", "D243N", "D244N", "D245N", "D246N", "D251N", "D252N", "D255N", "D261N", "D263N", "D265N", "D266N", "D271N", "D274N",
                "D306N", "D311N", "D315N", "D325N", "D331N", "D332N", "D343N", "D346N", "D351N", "D356N", "D364N", "D365N", "D371N", "D411N", "D412N",
                "D413N", "D423N", "D431N", "D432N", "D445N", "D446N", "D452N", "D454N", "D455N", "D462N", "D464N", "D465N", "D466N", "D503N", "D506N",
                "D516N", "D523N", "D526N", "D532N", "D546N", "D565N", "D606N", "D612N", "D624N", "D627N", "D631N", "D632N", "D645N", "D654N", "D662N",
                "D664N", "D703N", "D712N", "D723N", "D731N", "D732N", "D734N", "D743N", "D754N", "D017I", "D023I", "D025I", "D026I", "D031I", "D032I",
                "D036I", "D043I", "D047I", "D050I", "D051I", "D053I", "D054I", "D065I", "D071I", "D072I", "D073I", "D074I", "D114I", "D115I", "D116I",
                "D122I", "D125I", "D131I", "D132I", "D134I", "D143I", "D145I", "D152I", "D155I", "D156I", "D162I", "D165I", "D172I", "D174I", "D205I",
                "D212I", "D223I", "D225I", "D226I", "D243I", "D244I", "D245I", "D246I", "D251I", "D252I", "D255I", "D261I", "D263I", "D265I", "D266I",
                "D271I", "D274I", "D306I", "D311I", "D315I", "D325I", "D331I", "D332I", "D343I", "D346I", "D351I", "D356I", "D364I", "D365I", "D371I",
                "D411I", "D412I", "D413I", "D423I", "D431I", "D432I", "D445I", "D446I", "D452I", "D454I", "D455I", "D462I", "D464I", "D465I", "D466I",
                "D503I", "D506I", "D516I", "D523I", "D526I", "D532I", "D546I", "D565I", "D606I", "D612I", "D624I", "D627I", "D631I", "D632I", "D645I",
                "D654I", "D662I", "D664I", "D703I", "D712I", "D723I", "D731I", "D732I", "D734I", "D743I", "D754I");
            Column亚音编码.Name = "Column亚音编码";
            Column发射功率.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column发射功率, "Column发射功率");
            Column发射功率.Items.AddRange("高", "低", "中");
            Column发射功率.Name = "Column发射功率";
            Column扫描添加.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
            Column扫描添加.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column扫描添加, "Column扫描添加");
            Column扫描添加.Items.AddRange("是", "否");
            Column扫描添加.Name = "Column扫描添加";
            Column带宽.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column带宽, "Column带宽");
            Column带宽.Items.AddRange("宽带(25K)", "宽带(20K)", "窄带(12.5K)");
            Column带宽.Name = "Column带宽";
            Column可选信令.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
            componentResourceManager.ApplyResources(Column可选信令, "Column可选信令");
            Column可选信令.Items.AddRange("无", "DTMF", "2-Tone", "5-Tone");
            Column可选信令.Name = "Column可选信令";
            gridViewCellStyle6.Alignment = DataGridViewContentAlignment.MiddleCenter;
            gridViewCellStyle6.BackColor = Color.FromArgb(224, 224, 224);
            gridViewCellStyle6.ForeColor = Color.Red;
            Column更多.DefaultCellStyle = gridViewCellStyle6;
            Column更多.FlatStyle = FlatStyle.Popup;
            componentResourceManager.ApplyResources(Column更多, "Column更多");
            Column更多.Name = "Column更多";
            Column更多.Resizable = DataGridViewTriState.False;
            Column更多.Text = ">>";
            Column更多.UseColumnTextForButtonValue = true;
            componentResourceManager.ApplyResources(this, "$this");
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(Button信道编辑);
            Controls.Add(Button3);
            Controls.Add(Button2);
            Controls.Add(Button1);
            Controls.Add(Panel1);
            DoubleBuffered = true;
            
            Name = nameof(ChannelMsg);
            ((ISupportInitialize) ChannelMsgDataGridView).EndInit();
            Panel1.ResumeLayout(false);
            ResumeLayout(false);
        }

        internal virtual DataGridView ChannelMsgDataGridView
        {
            [DebuggerNonUserCode]
            get => _ChannelMsgDataGridView;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                if (_ChannelMsgDataGridView != null)
                {
                    _ChannelMsgDataGridView.CellValidating -= ChannelMsgDataGridView_CellValidating;
                    _ChannelMsgDataGridView.EditingControlShowing -= ChannelMsgDataGridView_EditingControlShowing;
                    _ChannelMsgDataGridView.CellEndEdit -= ChannelMsgDataGridView_CellEndEdit;
                    _ChannelMsgDataGridView.CellMouseClick -= ChannelMsgDataGridView_CellMouseClick;
                    _ChannelMsgDataGridView.RowPostPaint -= ChannelMsgDataGridView_RowPostPaint;
                }

                _ChannelMsgDataGridView = value;
                if (_ChannelMsgDataGridView == null)
                    return;
                _ChannelMsgDataGridView.CellValidating += ChannelMsgDataGridView_CellValidating;
                _ChannelMsgDataGridView.EditingControlShowing += ChannelMsgDataGridView_EditingControlShowing;
                _ChannelMsgDataGridView.CellEndEdit += ChannelMsgDataGridView_CellEndEdit;
                _ChannelMsgDataGridView.CellMouseClick += ChannelMsgDataGridView_CellMouseClick;
                _ChannelMsgDataGridView.RowPostPaint += ChannelMsgDataGridView_RowPostPaint;
            }
        }

        internal virtual Panel Panel1
        {
            [DebuggerNonUserCode]
            get => _Panel1;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set => _Panel1 = value;
        }

        internal virtual Button Button3
        {
            [DebuggerNonUserCode]
            get => _Button3;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Button3 = value; }
        }

        internal virtual Button Button2
        {
            [DebuggerNonUserCode]
            get => _Button2;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Button2 = value; }
        }

        internal virtual Button Button1
        {
            [DebuggerNonUserCode]
            get => _Button1;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                if (_Button1 != null)
                    _Button1.Click -= Button1_Click;
                _Button1 = value;
                if (_Button1 == null)
                    return;
                _Button1.Click += Button1_Click;
            }
        }

        internal virtual Button Button信道编辑
        {
            [DebuggerNonUserCode]
            get => _Button信道编辑;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                if (_Button信道编辑 != null)
                    _Button信道编辑.Click -= Button信道编辑_Click;
                _Button信道编辑 = value;
                if (_Button信道编辑 == null)
                    return;
                _Button信道编辑.Click += Button信道编辑_Click;
            }
        }

        internal virtual DataGridViewTextBoxColumn ColumnRxFreq
        {
            [DebuggerNonUserCode]
            get => _ColumnRxFreq;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _ColumnRxFreq = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column差频方向
        {
            [DebuggerNonUserCode]
            get => _Column差频方向;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column差频方向 = value; }
        }

        internal virtual DataGridViewTextBoxColumn ColumnTxFreq
        {
            [DebuggerNonUserCode]
            get => _ColumnTxFreq;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _ColumnTxFreq = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column亚音解码类型
        {
            [DebuggerNonUserCode]
            get => _Column亚音解码类型;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column亚音解码类型 = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column亚音解码
        {
            [DebuggerNonUserCode]
            get => _Column亚音解码;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column亚音解码 = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column亚音编码类型
        {
            [DebuggerNonUserCode]
            get => _Column亚音编码类型;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column亚音编码类型 = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column亚音编码
        {
            [DebuggerNonUserCode]
            get => _Column亚音编码;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column亚音编码 = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column发射功率
        {
            [DebuggerNonUserCode]
            get => _Column发射功率;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column发射功率 = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column扫描添加
        {
            [DebuggerNonUserCode]
            get => _Column扫描添加;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column扫描添加 = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column带宽
        {
            [DebuggerNonUserCode]
            get => _Column带宽;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column带宽 = value; }
        }

        internal virtual DataGridViewComboBoxColumn Column可选信令
        {
            [DebuggerNonUserCode]
            get => _Column可选信令;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column可选信令 = value; }
        }

        internal virtual DataGridViewButtonColumn Column更多
        {
            [DebuggerNonUserCode]
            get => _Column更多;
            [DebuggerNonUserCode, MethodImpl(MethodImplOptions.Synchronized)]
            set { _Column更多 = value; }
        }

        public void ChannelMsg_Deactivate(object sender, EventArgs e)
        {
            ChannelMsgDataGridView.EndEdit();
            var num = checked(ChannelMsgDataGridView.RowCount - 1);
            var i = 0;
            while (i <= num)
            {
                SetData_CHMsg(i);
                checked
                {
                    ++i;
                }
            }
        }

        private static void ChannelMsg_FormClosing(object sender, FormClosingEventArgs e)
        {
            MyProject.Forms.MDIParent1.信道信息CToolStripMenuItem.Checked = false;
        }

        public void ChannelMsg_Load(object sender, EventArgs e)
        {
            MyProject.Forms.MDIParent1.信道信息CToolStripMenuItem.Checked = true;
            ChannelMsgDataGridView.RowCount = 516;

            ChannelMsgDataGridView.TopLeftHeaderCell.Value = "CH";
            Column发射功率.Items.Clear();
            Column发射功率.Items.AddRange("High", "Low", "Middle");
            Column扫描添加.Items.Clear();
            Column扫描添加.Items.AddRange("Yes", "No");
            Column带宽.Items.Clear();
            Column带宽.Items.AddRange("Wide(25K)", "Wide(20K)", "Narrow(12.5K)");
            Column可选信令.Items.Clear();
            Column可选信令.Items.AddRange("None", "DTMF", "2-Tone", "5-Tone");

            var num = checked(ChannelMsgDataGridView.RowCount - 1);
            var i = 0;
            while (i <= num)
            {
                GetStr_CHMsg(i);
                checked
                {
                    ++i;
                }
            }
        }

        private void ChannelMsgDataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            var rowIndex = ChannelMsgDataGridView.CurrentCell.RowIndex;
            var columnIndex = ChannelMsgDataGridView.CurrentCell.ColumnIndex;
            var num = columnIndex;
            if (num == ChannelMsgDataGridView["ColumnRxFreq", rowIndex].ColumnIndex)
            {
                if (Operators.ConditionalCompareObjectNotEqual(ChannelMsgDataGridView["ColumnRxFreq", rowIndex].Value, "", false))
                {
                    var str = Conversions.ToString(JudgeInputRxFreq(Conversions.ToString(ChannelMsgDataGridView["ColumnRxFreq", rowIndex].Value),
                        true));
                    ChannelMsgDataGridView["ColumnRxFreq", rowIndex].Value = str;
                    if (Operators.ConditionalCompareObjectEqual(ChannelMsgDataGridView["ColumnTxFreq", rowIndex].Value, "", false))
                    {
                        if (Operators.CompareString(str, "", false) == 0)
                            Clr_Channel(rowIndex);
                        else
                            Init_Channel(str, rowIndex);
                    }
                    else if (Operators.CompareString(str, "", false) == 0)
                        Clr_Channel(rowIndex);
                }
                else
                    Clr_Channel(rowIndex);
            }
            else if (num == ChannelMsgDataGridView["ColumnTxFreq", rowIndex].ColumnIndex)
            {
                var str = Conversions.ToString(JudgeInputTxFreq(Conversions.ToString(ChannelMsgDataGridView["ColumnRxFreq", rowIndex].Value),
                    Conversions.ToString(ChannelMsgDataGridView["ColumnTxFreq", rowIndex].Value), true));
                ChannelMsgDataGridView["ColumnTxFreq", rowIndex].Value = str;
            }
            else if (num == ChannelMsgDataGridView["Column亚音解码类型", rowIndex].ColumnIndex)
            {
                switch (Column亚音解码类型.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音解码类型", rowIndex].Value)))
                {
                    case 0:
                        ChannelMsgDataGridView["Column亚音解码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音解码.Items[0]);
                        break;
                    case 1:
                        ChannelMsgDataGridView["Column亚音解码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音解码.Items[9]);
                        break;
                    case 2:
                        ChannelMsgDataGridView["Column亚音解码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音解码.Items[9]);
                        break;
                    case 3:
                        ChannelMsgDataGridView["Column亚音解码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音解码.Items[52]);
                        break;
                }
            }
            else if (num == ChannelMsgDataGridView["Column亚音解码", rowIndex].ColumnIndex)
            {
                switch (Column亚音解码类型.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音解码类型", rowIndex].Value)))
                {
                    case 0:
                        ChannelMsgDataGridView["Column亚音解码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音解码.Items[0]);
                        break;
                    case 1:
                        if (!Versioned.IsNumeric(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音解码", rowIndex].Value)) |
                            publicva.ToneValueValidatingDIS)
                        {
                            publicva.ToneValueValidatingDIS = false;
                            ChannelMsgDataGridView["Column亚音解码", rowIndex].Value =
                                RuntimeHelpers.GetObjectValue(
                                    Get_CTC_DCS_Str(Conversions.ToInteger(Operators.AddObject(Get_CHAddress(rowIndex), 7))));
                            break;
                        }

                        break;
                    case 2:
                        if (!Versioned.IsNumeric(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音解码", rowIndex].Value)) |
                            publicva.ToneValueValidatingDIS)
                        {
                            publicva.ToneValueValidatingDIS = false;
                            ChannelMsgDataGridView["Column亚音解码", rowIndex].Value =
                                RuntimeHelpers.GetObjectValue(
                                    Get_CTC_DCS_Str(Conversions.ToInteger(Operators.AddObject(Get_CHAddress(rowIndex), 7))));
                            break;
                        }

                        break;
                    case 3:
                        if (Operators.CompareString("D", ChannelMsgDataGridView["Column亚音解码", rowIndex]
                                .Value.ToString()
                                .Substring(0, 1), false) != 0 | publicva.ToneValueValidatingDIS)
                        {
                            publicva.ToneValueValidatingDIS = false;
                            ChannelMsgDataGridView["Column亚音解码", rowIndex].Value =
                                RuntimeHelpers.GetObjectValue(
                                    Get_CTC_DCS_Str(Conversions.ToInteger(Operators.AddObject(Get_CHAddress(rowIndex), 7))));
                        }

                        break;
                }
            }
            else if (num == ChannelMsgDataGridView["Column亚音编码类型", rowIndex].ColumnIndex)
            {
                switch (Column亚音编码类型.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音编码类型", rowIndex].Value)))
                {
                    case 0:
                        ChannelMsgDataGridView["Column亚音编码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音编码.Items[0]);
                        break;
                    case 1:
                        ChannelMsgDataGridView["Column亚音编码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音编码.Items[9]);
                        break;
                    case 2:
                        ChannelMsgDataGridView["Column亚音编码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音编码.Items[9]);
                        break;
                    case 3:
                        ChannelMsgDataGridView["Column亚音编码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音编码.Items[52]);
                        break;
                }
            }
            else if (num == ChannelMsgDataGridView["Column亚音编码", rowIndex].ColumnIndex)
            {
                switch (Column亚音编码类型.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音编码类型", rowIndex].Value)))
                {
                    case 0:
                        ChannelMsgDataGridView["Column亚音编码", rowIndex].Value = RuntimeHelpers.GetObjectValue(Column亚音编码.Items[0]);
                        break;
                    case 1:
                        if (!Versioned.IsNumeric(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音编码", rowIndex].Value)) |
                            publicva.ToneValueValidatingDIS)
                        {
                            publicva.ToneValueValidatingDIS = false;
                            ChannelMsgDataGridView["Column亚音编码", rowIndex].Value =
                                RuntimeHelpers.GetObjectValue(
                                    Get_CTC_DCS_Str(Conversions.ToInteger(Operators.AddObject(Get_CHAddress(rowIndex), 9))));
                            break;
                        }

                        break;
                    case 2:
                        if (!Versioned.IsNumeric(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音编码", rowIndex].Value)) |
                            publicva.ToneValueValidatingDIS)
                        {
                            publicva.ToneValueValidatingDIS = false;
                            ChannelMsgDataGridView["Column亚音编码", rowIndex].Value =
                                RuntimeHelpers.GetObjectValue(
                                    Get_CTC_DCS_Str(Conversions.ToInteger(Operators.AddObject(Get_CHAddress(rowIndex), 9))));
                            break;
                        }

                        break;
                    case 3:
                        if (Operators.CompareString("D", ChannelMsgDataGridView["Column亚音编码", rowIndex]
                                .Value.ToString()
                                .Substring(0, 1), false) != 0 | publicva.ToneValueValidatingDIS)
                        {
                            publicva.ToneValueValidatingDIS = false;
                            ChannelMsgDataGridView["Column亚音编码", rowIndex].Value =
                                RuntimeHelpers.GetObjectValue(
                                    Get_CTC_DCS_Str(Conversions.ToInteger(Operators.AddObject(Get_CHAddress(rowIndex), 9))));
                        }

                        break;
                }
            }

            if (columnIndex == ChannelMsgDataGridView["Column更多", 0].ColumnIndex)
                return;
            SetData_CHMsg(rowIndex);
            if (MyProject.Forms.MDIParent1.JudgeIsFormLoaded(MyProject.Forms.ChannelEditForm) &&
                rowIndex == MyProject.Forms.ChannelEditForm.ComboBox编辑信道号.SelectedIndex)
                MyProject.Forms.ChannelEditForm.GetStr_CHMsg(rowIndex);
            if (MyProject.Forms.MDIParent1.JudgeIsFormLoaded(MyProject.Forms.ScanFuncMsgForm))
                MyProject.Forms.ScanFuncMsgForm.SetControl_PRICHList();
            MyProject.Forms.TypeFuncMsgForm.TypeFuncMsgForm_Load(RuntimeHelpers.GetObjectValue(sender), e);
            MyProject.Forms.SOSMsgForm.SOSMsgForm_Load(RuntimeHelpers.GetObjectValue(sender), e);
        }

        private void ChannelMsgDataGridView_EditingControlShowing(
            object sender,
            DataGridViewEditingControlShowingEventArgs e)
        {
            if (ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["ColumnRxFreq", 0].ColumnIndex |
                ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["ColumnTxFreq", 0].ColumnIndex)
            {
                var boxEditingControl = new DataGridViewTextBoxEditingControl();
                boxEditingControl = (DataGridViewTextBoxEditingControl) e.Control;
                e.Control.KeyPress += Cells_KeyPress;
            }
            else
            {
                if (!(ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["Column亚音解码", 0].ColumnIndex |
                      ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["Column亚音编码", 0].ColumnIndex))
                    return;
                var boxEditingControl = new DataGridViewComboBoxEditingControl();
                var control = (DataGridViewComboBoxEditingControl) e.Control;
                control.DropDownStyle = ComboBoxStyle.DropDown;
                control.MaxLength = 5;
                e.Control.KeyPress += ComboBoxCells_KeyPress;
            }
        }

        private void Cells_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar) | e.KeyChar == '\b' | Operators.CompareString(Conversions.ToString(e.KeyChar), ".", false) == 0)
                e.Handled = false;
            else
                e.Handled = true;
        }

        private void ComboBoxCells_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Operators.CompareString(Conversions.ToString(e.KeyChar), "D", false) == 0 | char.IsDigit(e.KeyChar) | e.KeyChar == '\b' |
                Operators.CompareString(Conversions.ToString(e.KeyChar), "N", false) == 0 |
                Operators.CompareString(Conversions.ToString(e.KeyChar), "I", false) == 0 | e.KeyChar == '.' |
                Operators.CompareString(Conversions.ToString(e.KeyChar), "d", false) == 0 |
                Operators.CompareString(Conversions.ToString(e.KeyChar), "n", false) == 0 |
                Operators.CompareString(Conversions.ToString(e.KeyChar), "i", false) == 0)
            {
                if (Operators.CompareString(Conversions.ToString(e.KeyChar), "d", false) == 0 |
                    Operators.CompareString(Conversions.ToString(e.KeyChar), "n", false) == 0 |
                    Operators.CompareString(Conversions.ToString(e.KeyChar), "i", false) == 0)
                    e.KeyChar = char.ToUpper(e.KeyChar);
                e.Handled = false;
            }
            else
                e.Handled = true;
        }

        private void ChannelMsgDataGridView_CellValidating(
            object sender,
            DataGridViewCellValidatingEventArgs e)
        {
            var rowIndex = ChannelMsgDataGridView.CurrentCell.RowIndex;
            if (ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["Column亚音解码", 0].ColumnIndex |
                ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["Column亚音编码", 0].ColumnIndex)
            {
                publicva.ToneValueValidatingDIS = false;
                if (Conversions.ToBoolean(Operators.AndObject(Operators.CompareObjectNotEqual(e.FormattedValue, "", false),
                        Column亚音解码.Items.IndexOf(RuntimeHelpers.GetObjectValue(e.FormattedValue)) != 0)))
                {
                    string str;
                    if (Operators.CompareString(e.FormattedValue.ToString()
                            .Substring(0, 1), "D", false) == 0)
                    {
                        if (e.FormattedValue.ToString()
                                .Length != 5)
                        {
                            publicva.ToneValueValidatingDIS = true;
                            return;
                        }

                        if (!(Operators.CompareString(e.FormattedValue.ToString()
                                .Substring(4, 1), "N", false) == 0 | Operators.CompareString(e.FormattedValue.ToString()
                                .Substring(4, 1), "I", false) == 0))
                        {
                            publicva.ToneValueValidatingDIS = true;
                            return;
                        }

                        str = Conversions.ToString(e.FormattedValue);
                    }
                    else
                    {
                        double num;
                        try
                        {
                            num = Conversions.ToDouble(e.FormattedValue);
                        }
                        catch (Exception ex)
                        {
                            ProjectData.SetProjectError(ex);
                            publicva.ToneValueValidatingDIS = true;
                            ProjectData.ClearProjectError();
                            return;
                        }

                        if (num > 254.1 | num < 63.0)
                        {
                            publicva.ToneValueValidatingDIS = true;
                            return;
                        }

                        str = $"{num:###.0}";
                    }

                    if (!Column亚音编码.Items.Contains(str))
                    {
                        Column亚音编码.Items.Add(str);
                        if (!Column亚音解码.Items.Contains(str))
                            Column亚音解码.Items.Add(str);
                    }

                    if (ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["Column亚音解码", 0].ColumnIndex)
                        ChannelMsgDataGridView["Column亚音解码", rowIndex].Value = str;
                    if (ChannelMsgDataGridView.CurrentCell.ColumnIndex == ChannelMsgDataGridView["Column亚音编码", 0].ColumnIndex)
                        ChannelMsgDataGridView["Column亚音编码", rowIndex].Value = str;
                }
            }
        }

        private void ChannelMsgDataGridView_RowPostPaint(
            object sender,
            DataGridViewRowPostPaintEventArgs e)
        {
            var strArray = new string[4]
            {
                "A CALL",
                "B CALL",
                "A VFO",
                "B VFO"
            };
            var brush = (Brush) new SolidBrush(ChannelMsgDataGridView.RowHeadersDefaultCellStyle.ForeColor);
            var font = new Font("Arial", 9f, FontStyle.Bold);
            if (e.RowIndex > 511)
            {
                switch (e.RowIndex)
                {
                    case 512:
                        brush = Brushes.Red;
                        break;
                    case 513:
                        brush = Brushes.Orange;
                        break;
                    case 514:
                        brush = Brushes.Blue;
                        break;
                    case 515:
                        brush = Brushes.Green;
                        break;
                }

                e.Graphics.DrawString(strArray[checked(e.RowIndex - 512)], font, brush, checked(e.RowBounds.Location.X + 2),
                    checked(e.RowBounds.Location.Y + 5));
            }
            else
                e.Graphics.DrawString(checked(e.RowIndex + 0).ToString(), ChannelMsgDataGridView.DefaultCellStyle.Font, brush,
                    e.RowBounds.Location.X + checked(ChannelMsgDataGridView.RowHeadersWidth - (e.RowIndex + 0).ToString()
                        .Length * 8) / 2f, checked(e.RowBounds.Location.Y + 5));
        }

        private void ChannelMsgDataGridView_CellMouseClick(
            object sender,
            DataGridViewCellMouseEventArgs e)
        {
            var columnIndex = ChannelMsgDataGridView["Column更多", 0].ColumnIndex;
            var rowIndex = ChannelMsgDataGridView.CurrentCell.RowIndex;
            if (columnIndex == ChannelMsgDataGridView.CurrentCell.ColumnIndex)
            {
                MyProject.Forms.ChannelEditForm.ChannelEditForm_Load(RuntimeHelpers.GetObjectValue(sender), e);
                MyProject.Forms.MDIParent1.SafeLoadWindowByName(MyProject.Forms.ChannelEditForm);
            }
            else
            {
                if (!Operators.ConditionalCompareObjectEqual("", ChannelMsgDataGridView["ColumnRxFreq", rowIndex].Value, false))
                    return;
                ChannelMsgDataGridView.CurrentCell = ChannelMsgDataGridView.Rows[rowIndex]
                    .Cells[0];
                ChannelMsgDataGridView.BeginEdit(true);
            }
        }

        private void Button信道编辑_Click(object sender, EventArgs e)
        {
            MyProject.Forms.ChannelEditForm.ChannelEditForm_Load(RuntimeHelpers.GetObjectValue(sender), e);
            MyProject.Forms.MDIParent1.SafeLoadWindowByName(MyProject.Forms.ChannelEditForm);
        }

        public void GetStr_CHMsg(int i)
        {
            var flag = false;
            var integer = Conversions.ToInteger(Get_CHAddress(i));
            if (i > 511)
            {
                if (Operators.ConditionalCompareObjectNotEqual("",
                        Get_RxFreqStr(integer, publicva.EEPROM_Byte[checked(integer + 15)] & 15,
                            publicva.EEPROM_Byte[checked(integer + 11)] & (publicva.Bit0 | publicva.Bit1)), false))
                    flag = true;
            }
            else if (CHStatus_Read(i, 8064) && Operators.ConditionalCompareObjectNotEqual("",
                         Get_RxFreqStr(integer, publicva.EEPROM_Byte[checked(integer + 15)] & 15,
                             publicva.EEPROM_Byte[checked(integer + 11)] & (publicva.Bit0 | publicva.Bit1)), false))
                flag = true;

            if (flag)
            {
                ChannelMsgDataGridView["ColumnRxFreq", i].Value = RuntimeHelpers.GetObjectValue(Get_RxFreqStr(checked(integer + 0),
                    publicva.EEPROM_Byte[checked(integer + 15)] & 15, publicva.EEPROM_Byte[checked(integer + 11)] & (publicva.Bit0 | publicva.Bit1)));
                ChannelMsgDataGridView["Column差频方向", i].Value = RuntimeHelpers.GetObjectValue(
                    Column差频方向.Items[(byte) ((publicva.EEPROM_Byte[checked(integer + 14)] & (publicva.Bit2 | (uint) publicva.Bit3)) >> 2)]);
                ChannelMsgDataGridView["ColumnTxFreq", i].Value = RuntimeHelpers.GetObjectValue(Get_TxFreqStr(checked(integer + 3),
                    publicva.EEPROM_Byte[checked(integer + 15)] & 15, publicva.EEPROM_Byte[checked(integer + 12)] & (publicva.Bit0 | publicva.Bit1)));
                ChannelMsgDataGridView["Column亚音解码类型", i].Value = RuntimeHelpers.GetObjectValue(
                    Column亚音解码类型.Items[(byte) ((publicva.EEPROM_Byte[checked(integer + 7)] & (publicva.Bit4 | (uint) publicva.Bit5)) >> 4)]);
                ChannelMsgDataGridView["Column亚音解码", i].Value = RuntimeHelpers.GetObjectValue(Get_CTC_DCS_Str(checked(integer + 7)));
                ChannelMsgDataGridView["Column亚音编码类型", i].Value = RuntimeHelpers.GetObjectValue(
                    Column亚音编码类型.Items[(byte) ((publicva.EEPROM_Byte[checked(integer + 9)] & (publicva.Bit4 | (uint) publicva.Bit5)) >> 4)]);
                ChannelMsgDataGridView["Column亚音编码", i].Value = RuntimeHelpers.GetObjectValue(Get_CTC_DCS_Str(checked(integer + 9)));
                ChannelMsgDataGridView["Column发射功率", i].Value = RuntimeHelpers.GetObjectValue(
                    Column发射功率.Items[(byte) ((publicva.EEPROM_Byte[checked(integer + 13)] & (publicva.Bit4 | (uint) publicva.Bit5)) >> 4)]);
                ChannelMsgDataGridView["Column扫描添加", i].Value = i <= 511
                    ? (!CHStatus_Read(i, 8128)
                        ? RuntimeHelpers.GetObjectValue(Column扫描添加.Items[1])
                        : RuntimeHelpers.GetObjectValue(Column扫描添加.Items[0]))
                    : RuntimeHelpers.GetObjectValue(Column扫描添加.Items[1]);
                ChannelMsgDataGridView["Column带宽", i].Value = RuntimeHelpers.GetObjectValue(
                    Column带宽.Items[(byte) ((publicva.EEPROM_Byte[checked(integer + 14)] & (publicva.Bit4 | (uint) publicva.Bit5)) >> 4)]);
                ChannelMsgDataGridView["Column可选信令", i].Value = RuntimeHelpers.GetObjectValue(Column可选信令.Items[
                    (byte) ((publicva.EEPROM_Byte[checked(integer + 12)] & (publicva.Bit4 | (uint) publicva.Bit5 | publicva.Bit6)) >> 4)]);
            }
            else
                Clr_Channel(i);
        }

        public void SetData_CHMsg(int i)
        {
            var flag = false;
            var integer = Conversions.ToInteger(Get_CHAddress(i));
            if (Operators.ConditionalCompareObjectNotEqual(ChannelMsgDataGridView["ColumnRxFreq", i].Value, "", false)
                && Operators.ConditionalCompareObjectNotEqual("", ChannelMsgDataGridView["ColumnTxFreq", i].Value, false))
                flag = true;
            if (flag)
            {
                publicva.EEPROM_Byte[checked(integer + 15)] = Conversions.ToByte(Get_FreqRangID(Conversions.ToDouble(ChannelMsgDataGridView["ColumnRxFreq", i].Value)));
                publicva.EEPROM_Byte[checked(integer + 11)] = Conversions.ToByte(Operators.OrObject((byte) (publicva.EEPROM_Byte[checked(integer + 11)] & (byte) ~(publicva.Bit0 | publicva.Bit1)),
                    Get_FreqStepFlag(Conversions.ToDouble(ChannelMsgDataGridView["ColumnRxFreq", i].Value))));
                Set_FreqData(checked(integer + 0), Conversions.ToString(ChannelMsgDataGridView["ColumnRxFreq", i].Value));
                publicva.EEPROM_Byte[checked(integer + 14)] =
                    checked((byte) (publicva.EEPROM_Byte[integer + 14] & unchecked((byte) ~(publicva.Bit2 | publicva.Bit3)) |
                                    Column差频方向.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column差频方向", i].Value)) << 2));
                publicva.EEPROM_Byte[checked(integer + 12)] = Conversions.ToByte(Operators.OrObject(
                    (byte) (publicva.EEPROM_Byte[checked(integer + 12)] & (byte) ~(publicva.Bit0 | publicva.Bit1)),
                    Get_FreqStepFlag(Conversions.ToDouble(ChannelMsgDataGridView["ColumnTxFreq", i].Value))));
                Set_FreqData(checked(integer + 3), Conversions.ToString(ChannelMsgDataGridView["ColumnTxFreq", i].Value));
                Set_CTC_DCS_Data(checked(integer + 7), Conversions.ToString(ChannelMsgDataGridView["Column亚音解码", i].Value),
                    Column亚音解码类型.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音解码类型", i].Value)));
                Set_CTC_DCS_Data(checked(integer + 9), Conversions.ToString(ChannelMsgDataGridView["Column亚音编码", i].Value),
                    Column亚音编码类型.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column亚音编码类型", i].Value)));
                publicva.EEPROM_Byte[checked(integer + 13)] =
                    checked((byte) (publicva.EEPROM_Byte[integer + 13] & unchecked((byte) ~(publicva.Bit4 | publicva.Bit5)) |
                                    Column发射功率.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column发射功率", i].Value)) << 4));
                if (Column扫描添加.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column扫描添加", i].Value)) != 0)
                {
                    if (i <= 511)
                        CHStatusList_Write(i, "删除", 8128);
                }
                else if (i <= 511)
                    CHStatusList_Write(i, "添加", 8128);

                publicva.EEPROM_Byte[checked(integer + 14)] =
                    checked((byte) (publicva.EEPROM_Byte[integer + 14] & unchecked((byte) ~(publicva.Bit4 | publicva.Bit5)) |
                                    Column带宽.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column带宽", i].Value)) << 4));
                publicva.EEPROM_Byte[checked(integer + 12)] =
                    checked((byte) (publicva.EEPROM_Byte[integer + 12] & unchecked((byte) ~(publicva.Bit4 | publicva.Bit5 | publicva.Bit6)) |
                                    Column可选信令.Items.IndexOf(RuntimeHelpers.GetObjectValue(ChannelMsgDataGridView["Column可选信令", i].Value)) << 4));
                if (i > 511)
                    return;
                CHStatusList_Write(i, "添加", 8064);
            }
            else
            {
                var num = 0;
                do
                {
                    publicva.EEPROM_Byte[checked(integer + num)] = 0;
                    checked
                    {
                        ++num;
                    }
                }
                while (num <= 31);

                if (i <= 511)
                {
                    CHStatusList_Write(i, "删除", 8064);
                    CHStatusList_Write(i, "删除", 8128);
                }
            }
        }

        public object Get_CTC_DCS_Str(int Address)
        {
            var num = (int) (byte) ((publicva.EEPROM_Byte[checked(Address + 0)] & (publicva.Bit4 | (uint) publicva.Bit5)) >> 4);
            string ctcDcsStr;
            if (num == 0)
            {
                ctcDcsStr = Conversions.ToString(Column亚音编码.Items[0]);
            }
            else
            {
                var a = (double) checked((publicva.EEPROM_Byte[Address + 0] & 15) * 256 + publicva.EEPROM_Byte[Address + 1]);
                if (num == 3)
                {
                    var integer = Conversions.ToInteger(Conversion.Oct(checked((long) Math.Round(a)) & 511L));
                    ctcDcsStr = (publicva.EEPROM_Byte[checked(Address + 0)] & (uint) publicva.Bit7) <= 0U
                        ? "D" + $"{integer:D3}" + "N"
                        : "D" + $"{integer:D3}" + "I";
                }
                else
                    ctcDcsStr = $"{a / 10.0:###.0}";
            }

            if (!Column亚音编码.Items.Contains(ctcDcsStr))
            {
                Column亚音编码.Items.Add(ctcDcsStr);
                if (!Column亚音解码.Items.Contains(ctcDcsStr))
                    Column亚音解码.Items.Add(ctcDcsStr);
            }

            return ctcDcsStr;
        }

        public void Set_CTC_DCS_Data(int Address, string ToneStr, int ToneMode)
        {
            if (!Column亚音编码.Items.Contains(ToneStr))
            {
                Column亚音编码.Items.Add(ToneStr);
                if (!Column亚音解码.Items.Contains(ToneStr))
                    Column亚音解码.Items.Add(ToneStr);
            }

            publicva.EEPROM_Byte[checked(Address + 0)] =
                checked((byte) (publicva.EEPROM_Byte[Address + 0] & unchecked((byte) ~(publicva.Bit4 | publicva.Bit5)) | ToneMode << 4));
            switch (ToneMode)
            {
                case 0:
                    publicva.EEPROM_Byte[checked(Address + 0)] = checked((byte) (publicva.EEPROM_Byte[Address + 0] & 240));
                    publicva.EEPROM_Byte[checked(Address + 1)] = checked((byte) (publicva.EEPROM_Byte[Address + 1] & 0));
                    break;
                case 3:
                    var a1 = Conversions.ToDouble("&H" + Conversion.Hex("&O" + Conversions.ToString(Conversions.ToDouble(ToneStr.Substring(1, 3)))));
                    publicva.EEPROM_Byte[checked(Address + 0)] =
                        checked((byte) (publicva.EEPROM_Byte[Address + 0] & 240 | ((long) Math.Round(a1) & 3840L) >> 8));
                    publicva.EEPROM_Byte[checked(Address + 1)] = checked((byte) ((long) Math.Round(a1) & byte.MaxValue));
                    publicva.EEPROM_Byte[checked(Address + 0)] = Operators.CompareString("I", ToneStr.Substring(4, 1), false) != 0
                        ? (byte) (publicva.EEPROM_Byte[checked(Address + 0)] & ~publicva.Bit7)
                        : (byte) (publicva.EEPROM_Byte[checked(Address + 0)] | publicva.Bit7);
                    break;
                default:
                    double num;
                    try
                    {
                        num = Conversions.ToDouble(ToneStr);
                    }
                    catch (Exception ex)
                    {
                        ProjectData.SetProjectError(ex);
                        num = 67.0;
                        ProjectData.ClearProjectError();
                    }

                    var a2 = num * 10.0;
                    publicva.EEPROM_Byte[checked(Address + 0)] =
                        checked((byte) (publicva.EEPROM_Byte[Address + 0] & 240 | ((long) Math.Round(a2) & 3840L) >> 8));
                    publicva.EEPROM_Byte[checked(Address + 1)] = checked((byte) ((long) Math.Round(a2) & byte.MaxValue));
                    break;
            }
        }

        public object Get_RxFreqStr(int Address, int FreqRangID, int CHStepIndex)
        {
            var numArray = new double[3]
            {
                5000.0,
                6250.0,
                2500.0
            };
            var num1 = checked(publicva.EEPROM_Byte[Address + 0] * 65536) + (double) checked(publicva.EEPROM_Byte[Address + 1] * 256) +
                       checked(publicva.EEPROM_Byte[Address + 2] * 1);
            if (CHStepIndex > 2)
                CHStepIndex = 0;
            var num2 = (double) (checked((long) Math.Round(unchecked(num1 * numArray[CHStepIndex]))) / 10L);
            return !(publicva.RxFreqRang[FreqRangID, 1] >= num2 & num2 >= publicva.RxFreqRang[FreqRangID, 0])
                ? ""
                : (object) $"{num2 / 100000.0:#00.00000}";
        }

        public object Get_TxFreqStr(int Address, int FreqRangID, int CHStepIndex)
        {
            var numArray = new double[3]
            {
                5000.0,
                6250.0,
                2500.0
            };
            var num = (double) (checked((long) Math.Round(unchecked(checked(publicva.EEPROM_Byte[Address + 0] * 65536) +
                                                                    (double) checked(publicva.EEPROM_Byte[Address + 1] * 256) +
                                                                    checked(publicva.EEPROM_Byte[Address + 2] * 1) * numArray[CHStepIndex]))) / 10L);
            return !(checked(publicva.RxFreqRang[FreqRangID, 1] - publicva.RxFreqRang[FreqRangID, 0]) >= num & num >= 0.0)
                ? ""
                : (object) $"{num / 100000.0:##0.00000}";
        }

        public void Set_FreqData(int Address, string FreqStr)
        {
            var numArray = new double[3]
            {
                5000.0,
                6250.0,
                2500.0
            };
            double Freq;
            try
            {
                Freq = Conversions.ToDouble(FreqStr);
            }
            catch (Exception ex)
            {
                ProjectData.SetProjectError(ex);
                Freq = 0.0;
                ProjectData.ClearProjectError();
            }

            var integer = Conversions.ToInteger(Get_FreqStepFlag(Freq));
            var a = (double) (checked((long) Math.Round(unchecked(Freq * 1000000.0))) / checked((long) Math.Round(numArray[integer])));
            publicva.EEPROM_Byte[checked(Address + 0)] = checked((byte) (((long) Math.Round(a) & 16711680L) >> 16));
            publicva.EEPROM_Byte[checked(Address + 1)] = checked((byte) (((long) Math.Round(a) & 65280L) >> 8));
            publicva.EEPROM_Byte[checked(Address + 2)] = checked((byte) (((long) Math.Round(a) & byte.MaxValue) >> 0));
        }

        public object Get_FreqStepFlag(double Freq)
        {
            var num = checked((uint) Math.Round(unchecked(Freq * 1000000.0)));
            if (num % 5000L == 0L)
                return 0;
            if (num % 6250L == 0L)
                return 1;
            return num % 2500L == 0L ? 2 : (object) 0;
        }

        public object Get_FreqRangID(double freq)
        {
            var numArray = new byte[7]
            {
                publicva.Bit0,
                publicva.Bit1,
                publicva.Bit2,
                publicva.Bit3,
                publicva.Bit4,
                publicva.Bit5,
                publicva.Bit6
            };
            var num = checked((uint) Math.Round(unchecked(freq * 100000.0)));
            uint freqRangId = 0;
            while (!(publicva.RxFreqRang[checked((int) freqRangId), 1] >= num & num >= publicva.RxFreqRang[checked((int) freqRangId), 0]) ||
                   (publicva.EEPROM_Byte[12] & (uint) numArray[checked((int) freqRangId)]) > 0U)
            {
                checked
                {
                    ++freqRangId;
                }

                if (freqRangId > 6U)
                    return -1;
            }

            return freqRangId;
        }

        public object JudgeInputRxFreq(string strFreq, bool msg)
        {
            string str;
            try
            {
                var Freq = Conversions.ToDouble(strFreq);
                if (Conversions.ToInteger(Get_FreqRangID(Freq)) != -1)
                {
                    var num1 = checked((uint) Math.Round(unchecked(Freq * 1000000.0)));
                    if (num1 % 6250L != 0L && num1 % 5000L != 0L && num1 % 2500L != 0L)
                    {
                        var num2 = checked((int) unchecked(num1 / 5000L));
                        if (num1 % 5000L > 10000L)
                            checked
                            {
                                ++num2;
                            }

                        num1 = checked((uint) (num2 * 5000));
                    }

                    str = $"{num1 / 1000000.0:#00.00000}";
                }
                else
                {
                    if (msg)
                        Msgbox_Msg("Frequency out of range");
                    str = "";
                }
            }
            catch (Exception ex)
            {
                ProjectData.SetProjectError(ex);
                if (msg)
                    Msgbox_Msg("Frequency out of range");
                str = "";
                ProjectData.ClearProjectError();
            }

            return str;
        }

        public object JudgeInputTxFreq(string RxFreq, string StrFreq, bool msg)
        {
            string str;
            try
            {
                var Freq = Conversions.ToDouble(RxFreq);
                var num1 = Conversions.ToDouble(StrFreq);
                var integer = Conversions.ToInteger(Get_FreqRangID(Freq));
                if (integer != -1)
                {
                    var num2 = checked(publicva.RxFreqRang[integer, 1] - publicva.RxFreqRang[integer, 0]);
                    uint num3 = 0;
                    var num4 = checked((uint) Math.Round(unchecked(num1 * 100000.0)));
                    if (num2 >= num4 & num4 >= num3)
                    {
                        if (num4 % 625L != 0L && num4 % 500L != 0L && num4 % 250L != 0L)
                        {
                            var num5 = checked((int) unchecked(num4 / 500L));
                            if (num4 % 500L > 1000L)
                                checked
                                {
                                    ++num5;
                                }

                            num4 = checked((uint) (num5 * 500));
                        }

                        str = $"{num4 / 100000.0:##0.00000}";
                    }
                    else
                    {
                        if (msg)
                            Msgbox_Msg("Frequency out of range");
                        str = "0.00000";
                    }
                }
                else
                {
                    if (msg)
                        Msgbox_Msg("Frequency out of range");
                    str = "";
                }
            }
            catch (Exception ex)
            {
                ProjectData.SetProjectError(ex);
                if (msg)
                    Msgbox_Msg("Frequency out of range");
                str = "0.00000";
                ProjectData.ClearProjectError();
            }

            return str;
        }

        public void Msgbox_Msg(string En_Msg)
        {
            var num2 = (int) Interaction.MsgBox(En_Msg, MsgBoxStyle.Exclamation, publicva.TypeName);
        }

        public void CHStatusList_Write(int CHNo, string COM, int Address)
        {
            var numArray = new byte[8]
            {
                1,
                2,
                4,
                8,
                16,
                32,
                64,
                128
            };
            checked
            {
                Address += CHNo >> 3;
            }

            if (Operators.CompareString(COM, "添加", false) == 0)
            {
                publicva.EEPROM_Byte[Address] = (byte) (publicva.EEPROM_Byte[Address] & ~numArray[CHNo & 7]);
            }
            else
            {
                if (Operators.CompareString(COM, "删除", false) != 0)
                    return;
                publicva.EEPROM_Byte[Address] = (byte) (publicva.EEPROM_Byte[Address] | numArray[CHNo & 7]);
            }
        }

        public bool CHStatus_Read(int CHNo, int Address)
        {
            var numArray = new byte[8]
            {
                1,
                2,
                4,
                8,
                16,
                32,
                64,
                128
            };
            checked
            {
                Address += CHNo >> 3;
            }

            return (publicva.EEPROM_Byte[Address] & (uint) numArray[CHNo & 7]) <= 0U;
        }

        public object Get_CHAddress(int i)
        {
            return i <= 511 ? checked(i * 32 + 8192) : checked((i - 512) * 32 + 7936);
        }

        public void Clr_Channel(int i)
        {
            if (i > 511)
            {
                switch (i)
                {
                    case 512:
                        Init_Channel("146.00000", i);
                        break;
                    case 513:
                        Init_Channel("440.00000", i);
                        break;
                    case 514:
                        Init_Channel("146.00000", i);
                        break;
                    case 515:
                        Init_Channel("440.00000", i);
                        break;
                }
            }
            else
            {
                ChannelMsgDataGridView["ColumnRxFreq", i].Value = "";
                ChannelMsgDataGridView["Column差频方向", i].Value = "";
                ChannelMsgDataGridView["ColumnTxFreq", i].Value = "";
                ChannelMsgDataGridView["Column亚音解码类型", i].Value = "";
                ChannelMsgDataGridView["Column亚音解码", i].Value = "";
                ChannelMsgDataGridView["Column亚音编码类型", i].Value = "";
                ChannelMsgDataGridView["Column亚音编码", i].Value = "";
                ChannelMsgDataGridView["Column发射功率", i].Value = "";
                ChannelMsgDataGridView["Column扫描添加", i].Value = "";
                ChannelMsgDataGridView["Column带宽", i].Value = "";
                ChannelMsgDataGridView["Column可选信令", i].Value = "";
            }
        }

        public void Init_Channel(string Freq, int i)
        {
            ChannelMsgDataGridView["ColumnRxFreq", i].Value = Freq;
            ChannelMsgDataGridView["Column差频方向", i].Value = RuntimeHelpers.GetObjectValue(Column差频方向.Items[0]);
            ChannelMsgDataGridView["ColumnTxFreq", i].Value = Conversions.ToDouble(Freq) <= 300.0 ? "0.60000" : (object) "5.00000";
            ChannelMsgDataGridView["Column亚音解码类型", i].Value = RuntimeHelpers.GetObjectValue(Column亚音解码类型.Items[0]);
            ChannelMsgDataGridView["Column亚音解码", i].Value = RuntimeHelpers.GetObjectValue(Column亚音解码.Items[0]);
            ChannelMsgDataGridView["Column亚音编码类型", i].Value = RuntimeHelpers.GetObjectValue(Column亚音编码类型.Items[0]);
            ChannelMsgDataGridView["Column亚音编码", i].Value = RuntimeHelpers.GetObjectValue(Column亚音编码.Items[0]);
            ChannelMsgDataGridView["Column发射功率", i].Value = RuntimeHelpers.GetObjectValue(Column发射功率.Items[0]);
            ChannelMsgDataGridView["Column扫描添加", i].Value = RuntimeHelpers.GetObjectValue(Column扫描添加.Items[0]);
            ChannelMsgDataGridView["Column带宽", i].Value = RuntimeHelpers.GetObjectValue(Column带宽.Items[0]);
            ChannelMsgDataGridView["Column可选信令", i].Value = RuntimeHelpers.GetObjectValue(Column可选信令.Items[0]);
            var integer = Conversions.ToInteger(Get_CHAddress(i));
            publicva.EEPROM_Byte[checked(integer + 6)] = 6;
            publicva.EEPROM_Byte[checked(integer + 9)] = (byte) (publicva.EEPROM_Byte[checked(integer + 9)] | publicva.Bit6);
            publicva.EEPROM_Byte[checked(integer + 11)] = 0;
            publicva.EEPROM_Byte[checked(integer + 12)] = 0;
            publicva.EEPROM_Byte[checked(integer + 13)] = 0;
            publicva.EEPROM_Byte[checked(integer + 14)] = 0;
            publicva.EEPROM_Byte[checked(integer + 15)] = 0;
            publicva.EEPROM_Byte[checked(integer + 16)] = 1;
            publicva.EEPROM_Byte[checked(integer + 17)] = 0;
            publicva.EEPROM_Byte[checked(integer + 18)] = 0;
            publicva.EEPROM_Byte[checked(integer + 19)] = 0;
            publicva.EEPROM_Byte[checked(integer + 20)] = 0;
            publicva.EEPROM_Byte[checked(integer + 21)] = 0;
            publicva.EEPROM_Byte[checked(integer + 22)] = 0;
            publicva.EEPROM_Byte[checked(integer + 23)] = 0;
            publicva.EEPROM_Byte[checked(integer + 24)] = 0;
            publicva.EEPROM_Byte[checked(integer + 25)] = 0;
            publicva.EEPROM_Byte[checked(integer + 26)] = 45;
            publicva.EEPROM_Byte[checked(integer + 27)] = 45;
            publicva.EEPROM_Byte[checked(integer + 28)] = 45;
            publicva.EEPROM_Byte[checked(integer + 29)] = 45;
            publicva.EEPROM_Byte[checked(integer + 30)] = 45;
            publicva.EEPROM_Byte[checked(integer + 31)] = 45;
        }

        private void Button1_Click(object sender, EventArgs e) => Close();
    }
}