Beispiel #1
0
        /// <summary>
        /// Gets code page display names and identifiers list, initializes converters creates dropdown menu items
        /// and events and fills code page combobox list
        /// </summary>
        private void CreateConverters()

        {
            var defConverter            = new DefaultByteCharConverter();
            ToolStripMenuItem miDefault = new ToolStripMenuItem();

            miDefault.Text   = defConverter.ToString();
            miDefault.Tag    = defConverter;
            miDefault.Click += new EventHandler(encodingMenuItem_Clicked);
            //Create Code page and numbers list apply it to encodingToolStripComboBox
            var cpn = new CodePageNames();

            cpn.displayNames.Insert(0, "ANSI (Default)");
            cpn.numbers.Insert(0, 0);
            var newList = cpn.numbers.Join(cpn.displayNames, s => cpn.numbers.IndexOf(s), i => cpn.displayNames.IndexOf(i), (s, i) => new { val = s, name = i }).ToList();

            var codePageConverter        = new CodePageByteCharProvider(0);
            ToolStripMenuItem miCodePage = new ToolStripMenuItem();

            miCodePage.Text   = codePageConverter.ToString();
            miCodePage.Tag    = codePageConverter;
            miCodePage.Click += new EventHandler(cpMenuItem_Clicked);

            encodingToolStripMenuItem.DropDownItems.Add(miDefault);
            encodingToolStripMenuItem.DropDownItems.Add(miCodePage);
            //initialize combobox
            encodingToolStripComboBox.ComboBox.DisplayMember = "name";
            encodingToolStripComboBox.ComboBox.ValueMember   = "val";
            encodingToolStripComboBox.ComboBox.DataSource    = newList;
            encodingToolStripComboBox.SelectedIndex          = 0;
        }
Beispiel #2
0
        void toolStripEncoding_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (encodingToolStripComboBox.SelectedIndex > 0)
            {
                int tempn             = (int)encodingToolStripComboBox.ComboBox.SelectedValue;
                var codePageConverter = new CodePageByteCharProvider(tempn);
                hexBox.ByteCharConverter = codePageConverter as IByteCharConverter;
            }
            else
            {
                var tagg = encodingToolStripMenuItem.DropDownItems[0];
                hexBox.ByteCharConverter = tagg.Tag as IByteCharConverter;
            }

            foreach (ToolStripMenuItem encodingMenuItem in encodingToolStripMenuItem.DropDownItems)
            {
                encodingMenuItem.Checked = (encodingMenuItem.Text == hexBox.ByteCharConverter.ToString());
            }
        }