|
Hello,
I'm doing a project using your ribbon control.
I updated my windows 10 to build 1803 recently.
Since then the ribbon combo box won't work (I can't click on dropdownitems, it's ignored).
I add new RibbonTextBox to my RibbonComboBox.
Do you have an idea from where it comes from ?
Thanks !
|
|
|
|
|
|
I will use it
diligent hands rule....
|
|
|
|
|
please tell me from where to get System.Windows.Forms.Ribbon35.dll ? thanks
|
|
|
|
|
|
Hello,
I start using this very nice Ribbon for WinForms. However I encountered a bug that I ask you how you figured out, because I consider it too nasty to be ignored.
Suppose I have a timer in my form that does some checks, that could enable or disable some buttons:
MyTimer_Tick(object sender, EventArgs e)
{
if (something)
{
ribbon1.SuspendUpdating();
myButton1.Enabled = newValueFor1;
ribbon1.ResumeUpdating(true);
}
}
The Enable property set takes a bit to process and it forces the ribbon to refresh its look.
If you click one of the ribbon controls, while the tick handler is doing its stuff, it happens that Control_MouseClick of the RibbonMouseCenter refuses to process the click over the button, and the event gets lost!
The current MouseClick handler is here:
private void Control_MouseClick(object sender, MouseEventArgs e)
{
if (IsSupsended || Disposed) return;
}
If you comment the first test, the MouseClick event is processed right.
What do you think about?
Marco Tenuti - www.tencas.com
|
|
|
|
|
what properties should i open to drop down a menu from the main OrbDropDown, i have changed its text without image and iam using Office_2010 theme,
but when i click it, it didnt drop down a menu items ! so plz anyone help me to do that
|
|
|
|
|
Hi
I want to stop auto-hiding of ribbon tab. When I double click on the menu, then Ribbon Tab start auto-hiding. It hide when click inside the container and visible when click on menu again. how i can stop it?
Please help.
|
|
|
|
|
Double click on menu switch between auto hide and always show.
|
|
|
|
|
Hi, I also meet the same requirement. But I also did not find any way from the setting. So I changed Ribbon.cs
protected override void OnMouseDoubleClick(MouseEventArgs e)
This function.
change the code in the foreach loop from
this.Minimized = !this.Minimized;
to
this.Minimized = false;
And also you may remove the whole foreach loop
|
|
|
|
|
How can I perfectly align the controls contained in a panel? I stack 4 updown controls but I dont know how to align the end of the textboxes of the updown controls. Is there a flowlayout panel or something to align the controls inside of a ribbon panel? Any suggestion will be appreciate.
|
|
|
|
|
Hi, I hope you can help me with this; I've a drawing application where the user drags items from the ribbon and places them on a "canvas" (in fact it's a PictureBox control). The items on the ribbon are RibbonButtons with images. This all works, except when I drag the item, the button is shown with focus after the mouse has left the button - it's highlighted. To clear it, I have to move the mouse over the button. If I don't do that, I end up with several buttons all focused. Is there anyway to programatically, remove focus from a ribbon object?
I've done some more looking and I think the problem only occurs if a dodragdrop is performed. As the RibbonButton doesn't have a dodragdrop method, I use an invisible label. However, when the dragdrop is completed - and the mouse is released, there's no mouseup event for the button, so the button doesn't get repainted. I've tried doing a btn.OnMouseUp call but that doesn't do it. I also modified the ribbon code to expose the selected flag and turn that off and do a repaint, but I can't find where the ribbon code actually paints a normal, non-selected button - can someone point me to that - then I can make that public and force a repaint.
-Andrew
modified 21-Feb-17 5:44am.
|
|
|
|
|
I've resolved the problem; I was starting the dragdrop when the button had a mousedown event. I've changed that to a mouseleave - and after checking the button state, do the dragdrop. That fixes the problem.
|
|
|
|
|
Actually, that didn't quite resolve the problem. Occasionally a button is left as if the mouse is over it, even if it isn't and the only way to get rid of the effect is to move the mouse over the button and out again. I have "solved" the problem, but it's pretty nasty; when the mouse leaves the panel containing the buttons, the program goes through each button, makes a copy and replaces it in the panel. That does fix it.
|
|
|
|
|
it's real good, thank you so much it's very usefull component, and ask you if can you give me the general idea to design like this ribbon.
execuse me for my language, it's not good.
Khaled 2007 MA
|
|
|
|
|
I made a working sample, and then copied the bin to another computer. Neither the release nor debug versions work. The form will open, but it will not load the ribbon. The ribbon dll is present, do I need to specify a dynamic location to the path somehow?
edit-The target computer did not have .net4. I'm not sure why I didn't get any kind of prompt. I figured it out by changing the project to .net2 and it suddenly worked on the target computer. I changed the project back to .net4 and the target computer suddenly gave me a prompt to download .net4. So I guess I've got it figured out.
modified 3-Jan-17 12:26pm.
|
|
|
|
|
i have just finished a small project and i used installshield to deploy it.after a successfull installation in another pc and when i'm trying to lunch the application an error accured in a message box
<Could not load file or assembly 'System.Windows.Forms.Ribbon35, Version=3.5.8.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.file not found
File name: 'System.Windows.Forms.Ribbon35, Version=3.5.8.0, Culture=neutral, PublicKeyToken=null'
>
whats the solution pl
|
|
|
|
|
I'd like to allow mouse wheel scrolling through a combo box. I know that the Ribbon combo boxes aren't true combos (in the winforms sense), but reckon I could implement it well enough - except there's no mousewheel event listener in the RibbonComboBox. There's the other usual mouse events, such as mouse enter, mouse down etc, but not the mouse wheel one.
So, is there a workaround for this or a way to add this support?
Nearly forgot to say - other than this, this winforms ribbon is awesome!
|
|
|
|
|
D'oh. I realised that the Ribbon itself is a proper Control, so does support a MouseWheel event. By looking at the mouse location, it's easy enough to find the Panel and Item under the mouse, check if it's a RibbonComboBox and then move the selection up or down as appropriate.
private void Ribbon1_MouseWheel(object sender, MouseEventArgs e) {
Point p = e.Location;
RibbonTab tab = ribbon1.ActiveTab;
foreach (RibbonPanel panel in tab.Panels) {
if (!panel.Bounds.Contains(p)) {
continue;
}
foreach (RibbonItem item in panel.Items) {
if (!item.Bounds.Contains(p)) {
continue;
}
if (item is RibbonComboBox) {
RibbonComboBox combo = (RibbonComboBox)item;
ScrollRibbonCombo(combo, e.Delta > 0);
}
}
}
}
private void ScrollRibbonCombo(RibbonComboBox combo, bool up) {
if (combo.DropDownItems.Count == 0) {
return;
}
RibbonItem selection = combo.SelectedItem;
RibbonItem newSelection = selection;
if (selection == null) {
if (up) {
newSelection = combo.DropDownItems.Last();
} else {
newSelection = combo.DropDownItems.First();
}
} else {
int index = combo.DropDownItems.IndexOf(selection);
if (up && index > 0) {
newSelection = combo.DropDownItems[index-1];
} else if (!up && index+1 < combo.DropDownItems.Count) {
newSelection = combo.DropDownItems[index+1];
}
}
if (newSelection == null) {
return;
}
combo.SelectedItem = newSelection;
RibbonItemEventArgs args = new RibbonItemEventArgs(newSelection);
combo.OnDropDownItemClicked(ref args);
}
|
|
|
|
|
first of all Thank You Guys for such a great job.
I was using ribbon in MDI forms so wanted to enable disable tabs as per form values.
Can you please suggest anything. Thank you in advance
|
|
|
|
|
i want to ask with based on this article,, how to call event button click from mdiParent. i mean like this: i have more form, form1 is MDIcontainer having more button, when i change form to form2 i want to access event button click in ribboncontrol form1. so what should i do for this problem?
thanks before.
|
|
|
|
|
The question is none of ribbon button's business.
u may use event delegate like this
in form2 declare event handler
public partial class Form2 : Form
{
public event EventHandler mecliked;
private void button1_Click(object sender, EventArgs e)
{
if (mecliked != null)
mecliked(sender, e);
}
}
in form1 declare like this
private void frmMain_Load(object sender, EventArgs e)
{
rbnNew.Click+=rbnNew_Click;
Form2 frm = new Form2();
frm.Show();
frm.mecliked += frm_mecliked;
}
void frm_mecliked(object sender, EventArgs e)
{
MessageBox.Show("form1 me.clicked");
}
|
|
|
|
|
Isn't numeric updown working ?
|
|
|
|
|
Thank you for this article, very helpful for understand and get started leveraging ribbon ui
|
|
|
|
|
I have a VB project (stringed instrument chord shapes with backend SQL database) that relies totally on the standard Graphics facilities. I wanted to update the UI with a ribbon, but when I looked at WPF with its ribbon control, I freaked out because I would have had to totally rewrite all the code, some of which dates back to 2006 when I wrote the kernel in VB6 one Christmas in London. Using this ribbon, I was able to leave all my historic (and fully tested) code in place, and simply provide at least a more modern UI.
Great stuff, folks!
|
|
|
|