コード例 #1
0
        /// <summary>The add event handlers.</summary>
        /// <param name="control">The control.</param>
        /// <param name="provider">The provider.</param>
        private static void AddEventHandlers(Control control, HyperToolTipProvider provider)
        {
            Debug.Assert(control != null);
            if (control.Tag != null && !string.IsNullOrEmpty(control.Tag.ToString()))
            {
                // Console.WriteLine(control.Tag.ToString());
                // control.MouseHover += parentform.button1_Hover;

                // attach handler
                provider.SetHyperToolTipId(control, control.Tag.ToString());
            }

            if (control is ToolStrip)
            {
                AddEventHandlers(control as ToolStrip, provider);
            }
            else
            {
                // iterate thru child controls
                foreach (Control child in control.Controls)
                {
                    AddEventHandlers(child, provider);
                }
            }
        }
        public void DisposeTest()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id   = "id";
            var ctrl = new Button();

            hyperToolTipProvider.SetHyperToolTipId(ctrl, id);

            var id2   = "id2";
            var ctrl2 = new Button();

            hyperToolTipProvider.SetHyperToolTipId(ctrl2, id2);

            hyperToolTipProvider.Dispose();

            Assert.AreEqual(string.Empty, hyperToolTipProvider.GetHyperToolTipId(ctrl));
            Assert.AreEqual(string.Empty, hyperToolTipProvider.GetHyperToolTipId(ctrl2));
        }
        public void SetGetHyperToolTipIdToolStrip2Test()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id = "id";
            var toolStripButton1 = new ToolStripButton();

            // try to set id before button is added to ToolStrip
            hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, id);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(toolStripButton1));
        }
        public void SetGetHyperToolTipIdTabControl2Test()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id   = "id";
            var page = new TabPage();

            // try to set id before page is added to TabControl
            hyperToolTipProvider.SetHyperToolTipId(page, id);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(page));
        }
        public void SetGetHyperToolTipIdToolStripTest()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id = "id";
            var toolStripButton1 = new ToolStripButton();
            var toolStrip1       = new ToolStrip();

            toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripButton1 });

            hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, id);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(toolStripButton1));
        }
        public void SetGetHyperToolTipIdTabControlTest()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id      = "id";
            var tabCtrl = new TabControl();
            var page    = new TabPage();

            tabCtrl.Controls.Add(page);

            hyperToolTipProvider.SetHyperToolTipId(page, id);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(page));
        }
        public void SetGetHyperToolTipIdControlTest()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id   = "id";
            var ctrl = new Button();

            hyperToolTipProvider.SetHyperToolTipId(ctrl, id);

            var id2   = "id2";
            var ctrl2 = new Button();

            hyperToolTipProvider.SetHyperToolTipId(ctrl2, id2);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(ctrl));
            Assert.AreEqual(id2, hyperToolTipProvider.GetHyperToolTipId(ctrl2));

            // try to override id
            var id3 = "id3";

            hyperToolTipProvider.SetHyperToolTipId(ctrl2, id3);
            Assert.AreEqual(id3, hyperToolTipProvider.GetHyperToolTipId(ctrl2));
        }
        public void RemoveControlOnDisposedControlTest()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id   = "id";
            var ctrl = new Button();

            hyperToolTipProvider.SetHyperToolTipId(ctrl, id);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(ctrl));
            ctrl.Dispose();
            Assert.AreEqual(
                string.Empty, hyperToolTipProvider.GetHyperToolTipId(ctrl), "control is not deregistered automatically");
        }
        public void RemoveControlOnDisposedTabControlTest()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id      = "id";
            var tabCtrl = new TabControl();
            var page    = new TabPage();

            tabCtrl.Controls.Add(page);

            hyperToolTipProvider.SetHyperToolTipId(page, id);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(page));
            tabCtrl.Dispose();
            Assert.AreEqual(
                string.Empty, hyperToolTipProvider.GetHyperToolTipId(page), "control is not deregistered automatically");
        }
コード例 #10
0
 /// <summary>The add event handlers.</summary>
 /// <param name="control">The control.</param>
 /// <param name="provider">The provider.</param>
 private static void AddEventHandlers(ToolStrip control, HyperToolTipProvider provider)
 {
     foreach (ToolStripItem item in control.Items)
     {
         if (item is ToolStripDropDownItem)
         {
             AddEventHandlers(item as ToolStripDropDownItem, provider);
         }
         else
         {
             if (item.Tag != null && !string.IsNullOrEmpty(item.Tag.ToString()))
             {
                 // attach handler
                 provider.SetHyperToolTipId(item, item.Tag.ToString());
             }
         }
     }
 }
        public void RemoveControlOnDisposedToolStripTest()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            var id = "id";
            var toolStripButton1 = new ToolStripButton();
            var toolStrip1       = new ToolStrip();

            toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripButton1 });

            hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, id);

            Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(toolStripButton1));
            toolStrip1.Dispose();
            Assert.AreEqual(
                string.Empty,
                hyperToolTipProvider.GetHyperToolTipId(toolStripButton1),
                "control is not deregistered automatically");
        }
        /// <summary>The turn off normal tooltips on set hyper tool tip id helper.</summary>
        /// <param name="originalValueShowItemToolTips">The original value show item tool tips.</param>
        private void TurnOffNormalTooltipsOnSetHyperToolTipIdHelper(bool originalValueShowItemToolTips)
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            hyperToolTipProvider.Active = true;

            var toolStripButton1 = new ToolStripButton();

            var toolStrip1 = new ToolStrip();

            toolStrip1.ShowItemToolTips = originalValueShowItemToolTips;
            toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripButton1 });

            hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, "id");
            Assert.IsFalse(toolStrip1.ShowItemToolTips); // since provider is active normal tips should be turned off
            hyperToolTipProvider.Active = false;
            Assert.AreEqual(originalValueShowItemToolTips, toolStrip1.ShowItemToolTips);
            hyperToolTipProvider.Active = true;
            Assert.IsFalse(toolStrip1.ShowItemToolTips);
        }
        public void SetHyperToolTipIdWrongArg2Test()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            hyperToolTipProvider.SetHyperToolTipId(new TabControl(), null);
        }
        public void SetHyperToolTipIdWrongArg1Test()
        {
            var hyperToolTipProvider = new HyperToolTipProvider();

            hyperToolTipProvider.SetHyperToolTipId(null, null);
        }