471,616 Members | 1,990 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,616 software developers and data experts.

Visibility change causes menu items to scroll (bug?)

To reproduce, run code, open file menu, press up and down arrows to move out
of menu.
Menu items are scrolled and blank items appears in end.

I need to change visibility of menu items at runtime.
How to fix this ?
Is this .NET 3.5 bug ?

Andrus.
using System.Windows.Forms;

static class Program
{
static void Main()
{
Application.Run(new Form1());
}
}

class Form1 : Form
{
public Form1()
{
var menuStrip1 = new MenuStrip();
var fileToolStripMenuItem = new ToolStripMenuItem();
menuStrip1.Items.AddRange(new ToolStripItem[] {
fileToolStripMenuItem });
for (int i = 0; i < 10; i++)
{
var item = new ToolStripMenuItem("Item" + i.ToString());
fileToolStripMenuItem.DropDownItems.Add(item);
if (i < 5)
item.Visible = false;
}

fileToolStripMenuItem.Text = "File";
Controls.Add(menuStrip1);
MainMenuStrip = menuStrip1;
}
}

Jul 22 '08 #1
2 2539
Andrus,

The only immediate workaround I can see would be to not add the items if
you are not going to make them visible. I took your example and didn't add
the items if they were not visible, and didn't get that effect.

I would definitely register this bug on the Microsoft Connect site.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Andrus" <ko********@hot.eewrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
To reproduce, run code, open file menu, press up and down arrows to move
out of menu.
Menu items are scrolled and blank items appears in end.

I need to change visibility of menu items at runtime.
How to fix this ?
Is this .NET 3.5 bug ?

Andrus.
using System.Windows.Forms;

static class Program
{
static void Main()
{
Application.Run(new Form1());
}
}

class Form1 : Form
{
public Form1()
{
var menuStrip1 = new MenuStrip();
var fileToolStripMenuItem = new ToolStripMenuItem();
menuStrip1.Items.AddRange(new ToolStripItem[] {
fileToolStripMenuItem });
for (int i = 0; i < 10; i++)
{
var item = new ToolStripMenuItem("Item" + i.ToString());
fileToolStripMenuItem.DropDownItems.Add(item);
if (i < 5)
item.Visible = false;
}

fileToolStripMenuItem.Text = "File";
Controls.Add(menuStrip1);
MainMenuStrip = menuStrip1;
}
}

Jul 22 '08 #2
The only immediate workaround I can see would be to not add the items
if you are not going to make them visible. I took your example and didn't
add the items if they were not visible, and didn't get that effect.
I have Winforms menu system designed using Windows forms Designer in MDI
parent form.
Some menu items may not be visible to user who logs in.

I have also command "login as different user" in this MDI parent form which
allows other user to log in without exiting main form.
For this command I need to make some other menu items visible.

How to make items visible/invisible in this case ?
I would definitely register this bug on the Microsoft Connect site.
Done.
https://connect.microsoft.com/Visual...dbackID=357453

Andrus.

Jul 23 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Jukka K. Korpela | last post: by
3 posts views Thread by MrNobody | last post: by
11 posts views Thread by -D- | last post: by
1 post views Thread by Don Miller | last post: by
1 post views Thread by XIAOLAOHU | last post: by
1 post views Thread by ZEDKYRIE | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.