How to enable widget properties in GTKSharp (MonoDevelop) - c#

Good day! I just want to ask if how could I enable widget properties in GTKSharp. It was already there before the first time I installed MonoDevelop. But now I can't find it . I already tried to enable it via View > Pads > Properties but it is different. It is in general properties, not the specific widget properties like in this example. When I clicked the button to edit its properties, I can't (e.g. editing the name value of the button, resizing, etc. via widget properties) like I did before.
How could I enable it? Thanks!

View > Pads > Properties is correct.
That pad is context sensitive, so you have to be in the Designer mode (stetic). Select any widget and the Properties Pad will show you the widget's Properties and Signals.

Related

C# WinForms - How to create a Properties Page like Visual Studio Project Properties

I'm trying to create a form that operates like the Visual Studio Properties page, with a list of categories (like Application, Build, Build Events etc) in a column on the left and corresponding information on the right. I'm planning to use either panels or a tabcontrol (with the tab header hidden) for the right hand side.
However, I'm unsure how best to create the column of categories on the left. Is there a standard control that provides this functionality?
Otherwise, I considered using a panel containing Buttons, or individual Panels, or a ListBox, but I don't think these would give the same look. Also, I don't want to write code if a suitable control already exists.
Ideally I would like to be able to easily disable all the categories, for example while editing a record on one page.
Having nested categories might be nice, but is not essential.
If the information on the right is not related to one another as you switch categories on the left, to create a good separation between categories I'd suggest you do the following:
Create a user control for each individual category
Split your form in two, the bar on the left and a panel on the right
The bar on the left, for the categories, can be a list of radio buttons, or links, or whatever you like. I'd suggest a TreeView since it easily support sub-categories.
As the user click on a category (by attaching a method to the corresponding even on the control used for the categories) you can remove the control from the panel, if any, and reset the control that corresponds to the selected category.

Cell navigation to GridControl

I use DevExpress
I had difficulty managing. I have a GridControl and added cell navigation buttons. That's just the question, how can you implement this code?
There are 4 buttons, among which are: First entry (|<), Previous entry (<), Next entry (>), Last entry (>|). How can you programmatically write these cell movements?
An example of an Access screen, such as this navigation:
My suggestion would be to not write it yourself... use the Dev Express embedded navigator.
If you go to designer view on the grid, go to Feature Browser, Focus, Embedded Navigator and set the UseEmbeddedNavigator property to true.
You can, of course, also do this in the regular property window of your form.
Once you do that, your grid will have it:

In a property grid is there a way to unselect all grid elements programatically?

I am working on a project in which I am using a property grid to display the properties of the selected control.
The Property Grid is fixed to the left edge of the container and in the rest of the space I have the form I am designing.
On clicking a control on the form, the specific control’s property is getting selected.
In the above figure, I have selected the textbox and the textbox’s properties get shown on the propertygrid.
Here if you observe, by default, the Name property is highlighted as well.
Is there some way to unselect this property programmatically?
I have tried some suggestions online but none have helped. I am not able to find find a way to remove all selections from the PropertyGrid, but its behaviour seem to be different form a DataGrid...
Here is why I need this...
On selecting a control, if a property in the property grid is selected, then the property is getting modified.
For example, If i cut the control using Ctrl + X, the selected value in property grid is getting cut which in some cases is forcing user to set the property before modifying anything on the form.
I have tried selecting multiple controls, but in that case alse the selected property seems to be persistent
Since PropertyGrid uses DefaultProperty to select a property in its grid, as an option you can set DefaultProperty attribute at run-time for your object to a non-browsable property, for example:
this.propertyGrid1.SelectedObject = null;
TypeDescriptor.AddAttributes(someControl,
new Attribute[] { new DefaultPropertyAttribute("Site") });
this.propertyGrid1.SelectedObject = someControl;
Well, what you are trying are hacks. It is never a good idea to do such hacks particularly if you are not the only person that use the software.
In your case, the focus should be on the designer while you interact with it. So if the user press Ctrl+X, the designer should respond to the keyboard and it should not have any effect on the property grid (as only one control can have the focus at the same time).
Thus it is up to you to make sure that your designer is focusable, that it has the focus when initially displayed, that it get the focus when you press the TAB key. Pressing the TAB key again should put the focus on the property grid so that user can interact with the grid without using the keyboard.
If you have more than these 2 controls, then obviously TAB should also stop at any appropriate controls. Also, it can be a good idea to have some direct shortcuts like F4 to (show and) activate the properties pane.
If you are not able to make it works, then the best compromise would be to use another windows for the properties grid. By using a distinct Tool windows for the properties, it should not respond to the keyboard when the main windows has the focus.
Here are some links that might help you:
Panel not getting focus
Control.Focus Method() — See Remarks section.
In any case, you should not prevent Ctrl+X to works as expected when the property grid has the focus and a property is selected. Users don't like software that do not follows UI conventions.
As a software developer, you should as much as possible ensure that your application follows standard behaviors. I recommend you that you take one or 2 extra days developing your software properly instead of doing hacks.
Often, compromise to gain a few days will never be fix and will be a pain for many years. Better to do it right from the start. Unselecting an item in the property grid is not an acceptable workaround. Your manager should not allows you to do that.

Wrap items in a windows applications List View control

Is there a way to make long items wrap in a .net windows forms application, I have already got LabelWrap set to true, but it doesn't work, I am using Details View Type,
Thanks
ListView doesn't allow text-wrapping.
What I usually do is set "ShowItemToolTips" property true in such cases. Then user can see the whole text a ToolTip. This is the only simple option I can see with ListView to help in this case.
If you really want to support for text-wrapping you will have to either use a third party ListView or use a DataGridView.
EDIT
If you are using VS2010, Tile View is an option for you.
With the tile view feature of the ListView control, you can provide a
visual balance between graphical and textual information. The textual
information displayed for an item in tile view is the same as the
column information defined for details view. Tile view works in
combination with either the grouping or insertion mark features in the
ListView control.
The LabelWrap property only works for icons (View types of LargeIcon or SmallIcon), not Details. As others have already answered, you have to use DataGridView or a 3rd party listview such as ObjectListView.

Disabling default buttons in word 2003

I'm currently trying to disable some buttons on the menu bar in word 2k3 but I have no clue on how to do so, from what I can find online it seems that i need to call the function "EnableMenuItem" from the user32.dll but it doesnt seem to work. Are there any other options available? I want to disable copy/paste/cut without the use of macros to intercept the calls.
thank you all for your help :)
Gonçalo
You'll have to iterate through the app.commandbars collection to find the specific commandbar (in this case,the EDIT MENU) and then interate through the commands to find the specific menu items, then you should be able to hook the click events, or disable the buttons (CommandBarButton objects have an ENABLED property you can set, I believe you can also set VISIBLE on them).
Be aware that in different languages, the Caption can change, so it's best to key of the ID property.
Here's a post of how to get those names and ID's
http://support.microsoft.com/kb/243988

Categories

Resources