Add ToolTip to StripMenuItem C# - c#

So I have a UserControl Form. Where I have a MenuStrip
So I want to add a ToolTip on my MenuStripItems ( which are only pictures ). But setting the text on ToolTipText did not help at all. Also tried
adaugaToolStripMenuItem.ToolTipText = "Click for the current time";
adaugaToolStripMenuItem.AutoToolTip = false;
So I have no idea, any help? Is there a way I can add a ToolTip or some kind of hint to my MenuStripItems ?

Did you make sure ShowItemToolTips of the MenuStrip container is also set to true? It's false by default. You may want to use its other property DefaultShowItemToolTips instead.
MSDN Link.
Also check the item's AutoToolTip property is set to false. Its default value is true, and that means it uses the Text property as tooltip.
MSDN Link.

Related

WinUI: does property "Disabled" exist for checkbox?

I read MSDN for WinUI but haven't found any information about how to disable checkbox. If it's exists, what's the name of property?
If it doesn't, how should I control, that checkbox cannot be changed? By overriding onClick?
Yes. Disabled doesn't exists, but all controls have Enabled property, and you can set it to False. This will disable your CheckBox, as you want.
You're probably looking for the IsEnabled property, available to all Controls.

How to set a textbox visible false but still write on it?

I´m trying to set textbox visible = false to avoid user from write on it manually but I still need it to write on it by using a bar code scanner, so I need it to get focused before use the scanner, what would be the better way to do it?
Your best option would be to simply validate that what's entered into the textbox is indeed a bar code. What happens when the scanner breaks down and the user still needs to enter a bar code? Limit it to numbers only.
If that's not an option and you find the scanner doesn't work with hidden or disabled textboxes, then set TabStop = false and Multiline = true, and try setting the text box size to 0x0. Or at least really tiny and make it the same colour as the background. In that case you'd want a label or something to then display the bar code or product info so the user knows the scanning worked.
Another possibility may be to set KeyPreview = true on your form. Then you can handle anything that looks like a bar code in the form's KeyPress event, no matter which control is focused. If numbers start coming in, capture them, and if it turns out not to be a bar code, just forward them to the focused control.
just simply set textbox property size to (0,0) with textbox visible = true
From the question, you want to achieve two things.
Make the textbox invisible before Scanning.
Lock the user from editing the textbox after bar code scanning.
Solution
Set the textbox visibility property to false before Scanning so that it does appear on the screen whatsoever.
Have an event handler after finishing scanning or at the end of your scanning method/function, change the Property of the textbox called Disabled to true.
Hope this helps.
If the purpose of hiding textbox is to not-allow user from editing it, then
you may set the ReadOnly property of texbox to true, then call the .Focus() method
before scanning the barcode. In my experience, after having installed the barcode
reader driver, softwares from accompanying CD, all you have to do is scan the
barcode and it will populate with the barcode-value in human readable format,
on any control in an application that can take user-input. I suggest to use
Readonly property of textbox instead of setting visible = false.

bind a Control's property to another control's property value on the same form

I am working in C# 4.5 - Winform. My question is specific to C# WinForm.
I want to bind a Control's property to another control's property value on the same form.
I have a GroupBox and a Check Box. When Check box is checked then group box should be enabled and when CheckBox in un-checked then GroupBox should be disabled.
However this task can be fulfilled by implement checkbox "CheckedChanged" event. But i want to accomplish this without writing any code.
I dont know it is possible or not. If possible then please provide solution.
It is possible to do via the designer. For your control -> Properties -> Binding...
But it is a lot of steps to result in a line of code in the designer file which you can add yourself just as easily in the constructor:
this.groupBox.DataBindings.Add( "Enabled", this.myCheckBox, "Checked" );

Winforms Designer and C#, how to programmatically call what the "Default" property grid selection does

In the Visual Studio Designer, I can change, say, the background of a textbox to blue.
To change it back to its 'default' value, I can right click on that property and click "Default Value".
My question: How do I do that programmatically? I'd like the opportunity to set my controls to and from a custom color back to their windows default (without specifically knowing what they are).
Thanks!
Marc Gravell's answer seems to do what you are looking for:
PropertyDescriptor prop = TypeDescriptor.GetProperties(textBox1)["BackColor"];
if (prop.CanResetValue(textBox1)) {
prop.ResetValue(textBox1);
}
yes you can change any control's property
or also you can see how it build your form via your designer class
check your form1.designer.cs
and read it you can find every control's initialization there.
and if you want to change ur textbox back color here is a code
textBox1.BackColor = System.Drawing.SystemColors.HotTrack;

How to disable textbox from editing?

I want to use a text box to display some text. I can not disable it, because then the scroll bar will not work.
How can I prevent editing within the multi-line textbox, yet make it appear as if it is enabled, so that the scroll bar works correctly?
You can set the ReadOnly property to true.
Quoth the link:
When this property is set to true, the contents of the control cannot
be changed by the user at runtime. With this property set to true, you
can still set the value of the Text property in code. You can use this
feature instead of disabling the control with the Enabled property to
allow the contents to be copied and ToolTips to be shown.
The TextBox has a property called ReadOnly. If you set that property to true then the TextBox will still be able to scroll but the user wont be able to change the value.
As mentioned above, you can change the property of the textbox "Read Only" to "True" from the properties window.
textBox1.ReadOnly = true;
"true" property will make the text box readonly activate. and "false" will make it in regular form. Thanks.

Categories

Resources