I have an io field where I want to accept a number from 0 - 99,999. So I use the Ultra Numeric Editor and set the Min Value to 0, the Max Value to 99999. What's irritating me is when the field is displayed on the screen it has a Zero in it (which is correct) and when I tab into the field, the cursor is set in front of the 0. Consequently, if I enter a 1, the number becomes 10... I don't want that, I want it to change the value from 0 to 1. What can I set to have the Value automatically selected when I enter the field so that whatever I type OVERWRITES the value that was in there?
Why does the UltraMaskedEdit select the value when you tab into the field but the UltraNumericEditor doesn't? I would use the UltraMaskedEdit control as my Numeric IO field if I could set it to right justify the value and enter the value from the right side like a Numeric editor would, but unfortunately, I can't seem to make it do that... More irritation...
My second complaint on the Numeric Editor is that if I delete the 0 then try to exit the field, I get a beep and the cursor won't leave the field until I put in a 0 or some other value. (I realize I DO have the Nullable property set to False, which is what I want) How can I set a Default (like 0) value for the field?
Finally, I STILL don't get emailed replies to my posts, even tho I ask it to.
Hi Steve,
Wolven said: I have an io field where I want to accept a number from 0 - 99,999. So I use the Ultra Numeric Editor and set the Min Value to 0, the Max Value to 99999. What's irritating me is when the field is displayed on the screen it has a Zero in it (which is correct) and when I tab into the field, the cursor is set in front of the 0. Consequently, if I enter a 1, the number becomes 10... I don't want that, I want it to change the value from 0 to 1. What can I set to have the Value automatically selected when I enter the field so that whatever I type OVERWRITES the value that was in there? Why does the UltraMaskedEdit select the value when you tab into the field but the UltraNumericEditor doesn't?
Why does the UltraMaskedEdit select the value when you tab into the field but the UltraNumericEditor doesn't?
I did a brief test using the inbox TextBox control, the UltraNumericEditor, and the UltraMaskedEdit control.
When you tab into the TextBox or the UltraMaskedEditor, it appears to select whatever text was last selected when you left the control. So initially, the first time you tab into one of these controls, it selects the entire text so you can overwrite it. But once you enter one of these controls and change the selection or move the cursor, then the next time you tab into that control, the cursor and selection return to their last known state.
For example, if you tab into a TextBox the first time, all of the text is selected. If you then type something into the TextBox and then move away and tab back into it, the text is not selected the second time. Instead, the cursor appears in the last place you left it.
The UltraNumericEditor seems to follow the same behavior, except that it does not select all of the text the first time you tab into it. So this does indeed appear to be a bug in the control. I'm going to forward this thread to Infragistics Developer Support so they can write this up and get it corrected.
Wolven said:I would use the UltraMaskedEdit control as my Numeric IO field if I could set it to right justify the value and enter the value from the right side like a Numeric editor would, but unfortunately, I can't seem to make it do that... More irritation...
Have you tried something like this?
this.ultraMaskedEdit1.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
Wolven said:My second complaint on the Numeric Editor is that if I delete the 0 then try to exit the field, I get a beep and the cursor won't leave the field until I put in a 0 or some other value. (I realize I DO have the Nullable property set to False, which is what I want) How can I set a Default (like 0) value for the field?
You could do something like this:
private void ultraNumericEditor1_ValidationError(object sender, Infragistics.Win.UltraWinEditors.ValidationErrorEventArgs e) { UltraNumericEditor numericEditor = (UltraNumericEditor)sender; string invalidText = e.InvalidText.Replace("_", "").Trim(); if (invalidText == null || invalidText.Length == 0) { e.RetainFocus = false; numericEditor.Value = 0; } }
Wolven said:Finally, I STILL don't get emailed replies to my posts, even tho I ask it to.
I have not heard any other customer complaints about this. I, myself, receive dozens of e-mail notifications from the forums every day. It seems unlikely that there is some problem with the forums themselves that is affecting only you. This is most likely due to a spam filter on your end - if not on your machine, then perhaps on the part of your ISP.
Hey Mike,
I found the same issue as you describe with the Ultra Masked Edit control. i.e. It selects all the data the first time you enter the field but if you type something and move away, when you re-enter the field it doesn't select the data. My question is, Why not? Every other Windows input field control I've used does (as far as I know). I think it SHOULD select all the data each time you enter the field whether the data has been changed or not.
I did notice that the Ultra Numeric and Masked Edit controls have a property called; SelectAllBehavior. I tried setting it to the two different settings but didn't really notice any difference. I did find that two Masked Edit controls that APPEAR to have all the properties set identically; mainly Edit As "String" and Input Mask "C" and SelectAllBehavior "SelectEnteredCharacters", behave differently. On one of them, it behaves just the the numeric fields we're discussing. The other one selects the data even after you change it, move away and then tab back in. I haven't been able to find what's making the difference.
Regarding the Default Value... If it's a Numeric Editor, and it's set to Not Nullable, and there isn't any data in the field, Wouldn't it make sense that the value SHOULD be set to 0 (zero) automatically???
And if it's a Masked Edit control with a Numeric Input Mask and it's set to Not Nullable, and there isn't any data in the field, Wouldn't it make sense that the value SHOULD be set to 0 (zero) automatically???
It certainly seems to me like it should. :)
As for my emails... I get the "noreply" emails from the support people when they email me regarding open cases. But I don't get emails when people reply to my posts for some odd reason.
Steve Smith said:I don't know for sure since I haven't looked, but I doubt there is documentation that says oh by the way you can't use the tool double click event for X,Y and Z tool controls. I have to agree that since the event is fired on the toolbar manager which is global to all the tool objects that they all should handle the event. Just my two cents.
As I said, this forum is really not the right place to discuss this and the toolbar isn't really my area. But it seems to me that the event doesn't fire because it's essentially useless on a button.
Why would you ever want to use a DoubleClick event on a Button tool? I know of no application that does this. It would not be intuitive to a user that he needs to double-click a button instead of just clicking on it once. How would the user know? Wouldn't they be confused when then click on the button and nothing happens?
You really can't use both Click and DoubleClick on the same button, because Double-Click doesn't replace Click - you would get two click events in addition to every double click.
Mike Saltzman"] ... it seems to me that the event doesn't fire because it's essentially useless on a button. Why would you ever want to use a DoubleClick event on a Button tool?
... it seems to me that the event doesn't fire because it's essentially useless on a button. Why would you ever want to use a DoubleClick event on a Button tool?
That same argument could be used for ANY control that utilizes both the Click and DoubleClick events. In Windows Explorer I can slowly click twice on a file name to rename it, or I can doubleclick it to open it. In a grid control I can click once on a row to "select" it, or I can doubleclick on it and perform some other function. There are many cases (controls) where a single click performs one action while a doubleclick performs a different action... and it's quite convenient and usefull. I could argue that it's "not intuitive" but, that's really beside the point. It obviously works quite well.
More specifically, in my particular case, I have a button that opens an explorer bar with various options that can be performed on a particular file (SQL Table). I want to have the SAME button just automatically start up option 1 (the main editing program for that particular file in this case) on the DoubleClick event. Again, whether that seems "intuitive" or not doesn't really matter. The users will quickly learn how it works and they will appreciate that they don't have to click once to open the menu bar, and then click again to edit the file.
Wolven said: In Windows Explorer I can slowly click twice on a file name to rename it, or I can doubleclick it to open it.
Yes, but this is not a double-click, this is two separate clicks.
Clicking once selects a file. Double-Clicking launches that file or expands the directory. This is intuitive and makes perfect sense because the click does not interfere, and in fact assists, with the double click. That makes sense for an item in a tree or even a grid row, but it does not make sense for a button. Clicking a button doesn't select the button, it performs some action and that action will presumably interfere with anything that a separate and distinct double-click action might do.
Wolven said:More specifically, in my particular case, I have a button that opens an explorer bar with various options that can be performed on a particular file (SQL Table). I want to have the SAME button just automatically start up option 1 (the main editing program for that particular file in this case) on the DoubleClick event. Again, whether that seems "intuitive" or not doesn't really matter. The users will quickly learn how it works and they will appreciate that they don't have to click once to open the menu bar, and then click again to edit the file.
It sounds to me like you would just use the Click event here. If the Explorer bar is not open and the click event fires, you open it. If it is already open, you perform the first option. This is not a double-click, it's two separate and distinct click operation that behave slightly different based on the current state of the application.
Mike Saltzman"] It sounds to me like you would just use the Click event here. If the Explorer bar is not open and the click event fires, you open it. If it is already open, you perform the first option.
It sounds to me like you would just use the Click event here. If the Explorer bar is not open and the click event fires, you open it. If it is already open, you perform the first option.
The entire point was to AVOID having to opent the Explorer bar to launch the first option.
And you ignored the example of a grid (and other controls) that DO have both a Click and DoubleClick event.
I'm still of the opinion that BOTH events SHOULD work on the Toolbar buttons. It can't really be that difficult for Ingragistics to make it work, can it? Especially since the logic for handling Click AND DoubleClick is in plenty of other controls.
Wolven said:The entire point was to AVOID having to opent the Explorer bar to launch the first option.
Well, that would not work, anyway. Even if a button tool did fire the ToolDoubleClick event, the ToolClick event would still fire first and open the Explorer Bar. Click and double-click are not mutually exclusive, they both occur in order. In fact, you would probably get two ToolClick events.
Wolven said:And you ignored the example of a grid (and other controls) that DO have both a Click and DoubleClick event.
Most controls have both because these are events of Control. So any control inherited from Control will have both events. A button has both. But I think it's pretty rare that anyone uses the DoubleClick event of a button. A user does not expect to have to double click on a button to get it to work. And if they click once and it does something, you typically want it to do the same thing again when you click again, not do something totally different.
There are some controls where having both click and double-click might be useful. But I honestly can't think of a good use case for this.
Wolven said:I'm still of the opinion that BOTH events SHOULD work on the Toolbar buttons. It can't really be that difficult for Ingragistics to make it work, can it? Especially since the logic for handling Click AND DoubleClick is in plenty of other controls.
This was a design decision that was made many years ago with the original release of UltraToolbarsManager. It was probably implemented this way as a convenience to make handling the ToolDoubleClick event easier. Because now you don't have to bother checking for button tools.
In any case, changing this behavior and suddenly starting to fire the event would be a breaking change, and I can't see any reason why this should be changed.
You are, of course, free to Submit a feature request to Infragistics if you like.
Private Sub Application_Startup(ByVal sender As Object, ByVal e As System.Windows.StartupEventArgs) Handles Me.Startup
Debug.Print(Thread.CurrentThread.CurrentCulture.ToString)
'Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-GB")
'// Access any class from the Lipstick style pack assembly to
' // ensure that the assembly has been loaded. The assembly
' // automatically registers any themes that it contains
' // when it is loaded. Once this is done you can set the 'Theme'
' // property of the XamDataGrid, XamDataCarousel or XamDataPresenter
' // to one of its registered themes, in this case "Lipstick".
' //
' // Note: this would normally be done once in the App.xaml.cs file.
Dim rd As ResourceDictionary = Infragistics.Windows.Themes.Lipstick.DataPresenter.Instance
'Make textboxes auto select text on focus application-wide.
EventManager.RegisterClassHandler(GetType(TextBox), _
TextBox.GotFocusEvent, _
New RoutedEventHandler(AddressOf TextBox_GotFocus))
'and other controls as required.
EventManager.RegisterClassHandler(GetType(Infragistics.Windows.Editors.XamMaskedEditor), _
Infragistics.Windows.Editors.XamMaskedEditor.GotFocusEvent, _
New RoutedEventHandler(AddressOf XamMaskedEditor_EditModeStartingEvent))
EventManager.RegisterClassHandler(GetType(Infragistics.Windows.Editors.XamNumericEditor), _
Infragistics.Windows.Editors.XamNumericEditor.EditModeStartingEvent, _
New RoutedEventHandler(AddressOf XamNumericEditor_EditModeStartingEvent))
EventManager.RegisterClassHandler(GetType(Infragistics.Windows.Editors.XamDateTimeEditor), _
Infragistics.Windows.Editors.XamDateTimeEditor.EditModeStartingEvent, _
New RoutedEventHandler(AddressOf XamDateTimeEditor_EditModeStartingEvent))
Try
'make sure user settings folder exists
System.IO.Directory.CreateDirectory(MyGlobals.UserDataPath)
Catch ex As Exception
End Try
End Sub
''' <summary>
''' When any textbox gets focus in app, select all text automatically.
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TextBox_GotFocus(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim tb As TextBox = CType(sender, TextBox)
tb.Focus()
tb.SelectAll()
Private Sub XamMaskedEditor_EditModeStartingEvent(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim tb As Infragistics.Windows.Editors.XamMaskedEditor = CType(sender, Infragistics.Windows.Editors.XamMaskedEditor)
Private Sub XamNumericEditor_EditModeStartingEvent(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim tb As Infragistics.Windows.Editors.XamNumericEditor = CType(sender, Infragistics.Windows.Editors.XamNumericEditor)
Private Sub XamDateTimeEditor_EditModeStartingEvent(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim tb As Infragistics.Windows.Editors.XamDateTimeEditor = CType(sender, Infragistics.Windows.Editors.XamDateTimeEditor)
MIKEY!!! Where are ya?
Wolven said:Hey Mike, I got this popup message when I tried to post my last reply on this thread.
Hey Mike, I got this popup message when I tried to post my last reply on this thread.
"You have posted to a forum that requires a moderator to approve posts before they are publicly available.
If the administrator has configured this forum to support email notifications you will receive an email when your post is either approved or denied (if you have emails enabled in your profile). "
My first question is why the sudden change to moderator approved posts? Also, I'm wondering if the second part of the message might pertain to why I never get email notifications of responses to my posts. Specifically the "If the administrator has configured this forum to support email notifications" part. HAS the administrator configured this forum to support email notifications??
Here's the thread on it.
http://forums.infragistics.com/forums/t/24231.aspx
Also, why is it that I can't seem to get responses in other areas of the WinForm forums? Could you take a look at these two threads Mike?
http://forums.infragistics.com/forums/t/28856.aspx
http://forums.infragistics.com/forums/t/29041.aspx