|
Congrtulations!
I am not expert in custom controls but in my humble opinion it seens really well done.
And is really fast compared with other comercial navigation panel controls y .net 2.0.
As Image Imprevements, i add properties to the barbutton as SmallImage, SelectedSmallImage, MouseOverSmallImage and the internal properti DisableSmallImage.
All of them to be used on Caption, OverFlowPanel and "Add or Remove" pop-up menu.
Want to send you my changes?
Maybe, other improvement arround images, is to use an Common (internal) imagelist. But that's another story
Congratulations Again!
And Thanks for posting this code.
|
|
|
|
|
Hi;
Do you know any control suit that support RTL for arabic and persian language? (such as Janus. do you know any other suite for web and win?)
Regards
|
|
|
|
|
Hi,
Sorry, i don't now which product support RTL.
|
|
|
|
|
Just wanted to say i think the control is gr8, well done.
|
|
|
|
|
This is a great control, really good work.
But, firstly like mentioned before, is it possible to enable the control to allow manual adding of controls to each panel, rather than making the NavigationBar add subordinate controls?
Secondly, is there any way you could have the NavigationBar update the design-time interface when a color setting is altered (in the color table?). I tried adding a custom event handler in the NavigationBarColorTable and having the NavigationBar negotiate the event and invalidate the control, but it failed to work (started throwing crazy exception errors).
Thanks for this
|
|
|
|
|
Hi, im German.
How can i disable/invisible the OverFlowPanel?
Thx
|
|
|
|
|
You can't disable or invisible.
|
|
|
|
|
This could be a really useful control but there are a few niggles that are stopping me from really using it at this time.
1. Buttons are added or removed when they could be generated like tabs on a regular tab control, with their own properties allowing them to be visible or hidden etc.
2. Expose the control containing panel that is created when one of the buttons is clicked so that application designers can edit control layout directly on the form rather than having to create a custom control and reference it.
3. Expose the Renderer property so that you can have a custom renderer that can control all of the controls on your form.
If these features were added then this control would be one of the best of its class.
|
|
|
|
|
Hi,
Congrats for deleveloping such a control.It looks n works great.
Just wanted to know if Outlook 2003 Style Navigation Pane is tied with XP window themes...That is if theme is changed on the XP machine does Outlook 2003 Style Navigation Pane colors change accordingly?
Regards
Vinutha
|
|
|
|
|
My solution is to relpace the following code lines in the class "NavigateBarColorTable" of the file "NavigateBarColorTable.cs":
public static NavigateBarColorTable SystemColor
{
get { return systemColor; }
}
with following:
public static NavigateBarColorTable SystemColor
{
get { return new NavigateBarColorTable(); }
}
|
|
|
|
|
Hi. Just a little question. When an application using the navigation pane is running (XP Operating system), if I try to logout, nothing happens and I find into the event viewer of the PC (system section) a message telling that the "shutdown has been cancelled". Do you manage the shutdown messages someway ? Thanks. Max.
|
|
|
|
|
You better using TextRenderer.DrawText instead of DrawString so this control support to render unicode text.
Replace
g.DrawString(Caption, new Font(SystemFonts.DialogFont.Name, 8, FontStyle.Regular), new SolidBrush(navigateBar.NavigateBarColorTable.TextColor), (this.NavigateBar.RightToLeft == RightToLeft.Yes ? this.Width - capWidth - 8 : 8),(int)((this.Height - SystemFonts.DialogFont.Height) / 2));
With
TextRenderer.DrawText(g, Caption, new Font(SystemFonts.DialogFont.Name, 8, FontStyle.Regular), new Point((this.NavigateBar.RightToLeft == RightToLeft.Yes ? this.Width - capWidth - 8 : 8),(int)((this.Height - SystemFonts.DialogFont.Height) / 2)), navigateBar.NavigateBarColorTable.TextColor);
|
|
|
|
|
Actually, i don't think to support unicode, but you are right.It is a good suggestion. I will change my code and update at this site.
|
|
|
|
|
I want to be able to drag components from this control onto another control, but I'm not having any success. My components are in this control inside a list view, and everywhere that I see AllowDrop I'm hitting Yes, still no luck.
Thanks Just For Reading!
|
|
|
|
|
Firts of all my compliments.
I have 2 questions:
1.
When i minimize my application en reopen de the window the number of displayes buttons decreases with one. Is there a solution to this problem?
2.
When the pane is collapsed and you click on the active button the corresponding panel comes out perfectly but on console ACTIVATE is printen.
|
|
|
|
|
Hi
1. Actually this is not a bug, this is a feature. I think panel height not enough for display(able) buttons height, show less button in panel. If you don't use this feature remove (OnResize) 1106-1110 lines in NavigateBar.cs
2. I forget remove this message. This a temporary line. NavigateBar.cs line 1249
Sorry for my english.
|
|
|
|
|
Thnax allot! It seems that the height of the control is set to 100 if you minimize the screen so i build in a little nasty if :P
if(!this.Height.Equals(100))
{
this.MoveButtons(MoveType.MoveDown);
this.ChangeSplitterPosition();
}
|
|
|
|
|
Solution for the first problem:
private FormWindowState GetParentFormState(Control ctrl)
{
if (ctrl.Parent == null)
{
return (FormWindowState) Int32.MaxValue;
}
else if (ctrl.Parent is Form)
{
return ((Form) ctrl.Parent).WindowState;
}
else
{
return GetParentFormState(ctrl);
}
}
in
protected override void OnResize(EventArgs e)
replace
if ((this.Height - displayedButtonCount*this.NavigateBarButtonHeight - this.OverFlowPanelHeight -
captionPanel.Height - this.NavigateBarButtonHeight) < 0)
{
this.MoveButtons(MoveType.MoveDown);
this.ChangeSplitterPosition();
}
on
if (GetParentFormState(this) != FormWindowState.Minimized)
{
if ((this.Height - displayedButtonCount*this.NavigateBarButtonHeight - this.OverFlowPanelHeight -
captionPanel.Height - this.NavigateBarButtonHeight) < 0)
{
this.MoveButtons(MoveType.MoveDown);
this.ChangeSplitterPosition();
}
}
|
|
|
|
|
Good idea, but the last third code line "return GetParentFormState(ctrl);" in the method "GetParentFormState" should be replaced with "return GetParentFormState(ctrl.Parent);" .
|
|
|
|
|
Hi, it's a great control , and now i'am developing an accounting system for commercial market in Turkey, my project is about to finish , and i just realized there is a nice navigation solution like your's and it's free and it's open sourced, is it allowed to use it in a commercial distribution?
cause the licensing conditions are not obviously implemented or i couldn't find it myself or whatever ,please respond me and i would like to use your control ,
Computer@doruk.net.tr
Sisnet Engineering TR
|
|
|
|
|
Why i don`t download it,
thanks
|
|
|
|
|
Hi
I can download, no problem.
|
|
|
|
|
What are the terms of use of this program/control in commercial and non-commercial applications?
Thanks.
|
|
|
|
|
Is it possible to update the source to enable it to run on a network share?
|
|
|
|
|
I have added a custom treeview on the navbar just like what you did on the mail folders and I have a mdichildform where I add messages, is it possible to automatically update the treeview?
|
|
|
|