Add a possibility to suggest misspelled words if they are all capital letters or contains numbers.
Steps:
1) Add a textbox to a form. Set tabindex set to 0.
2) Add a RadMaskedEditBox with tabindex set to 1, and add the code listed below.
public Form1() { InitializeComponent(); this.radMaskedEditBox1.MaskType = MaskType.Standard; this.radMaskedEditBox1.Mask = "000000"; this.radMaskedEditBox1.PromptChar = '#'; this.radMaskedEditBox1.SelectionStart = 0; this.radMaskedEditBox1.SelectionLength = 0; this.radMaskedEditBox1.Enter += radMaskedEditBox1_Enter; this.radMaskedEditBox1.Click += radMaskedEditBox1_Click; this.radMaskedEditBox1.MaskedEditBoxElement.TextBoxItem.Click += TextBoxItem_Click; } void radMaskedEditBox1_Enter(object sender, EventArgs e) { this.radMaskedEditBox1.SelectionStart = 0; } void TextBoxItem_Click(object sender, EventArgs e) { this.radMaskedEditBox1.SelectionStart = 0; } void radMaskedEditBox1_Click(object sender, EventArgs e) { }
3) Add breakpoints to all 3 RadMaskedEditBox events.
4) Run the app. Press tab key. (Enter event works as expected for the MaskedEditBox class).
5) Close and re-run app. Click the end of the MaskedEditBox. Click event is not invoked by the MaskedEditBox class as expected.
Expected Result:
Since this control really only has 1 primary subcontrol (a fancy textbox). Event subscriptions to Click should subscribe to MaskedEditBoxElement.TextBoxItem.Click the += operator...
Should be fixed for MouseUp/Down and the all the other related key and mouse events.
Actual Result:
Subscriptions to Enter work on the MaskedEditBox class, but only subscriptions to MaskedEditBoxElement.TextBoxItem.Click work for Click events. This is highly confusing to the programmer whom is used to subscribing the standard Click event of a given control, and makes for unnecessarily complicated code and knowledge of the internal Element structure to make it work as expect like any other control.
Feature request:
It would be nice if there was also a "SelectionStart_MouseClick" property that works similar to SelectionStart but for Click events.
Also a EnableSelectionStart_MouseClick property with a default of false to maintain existing control behavior.
This allows the user to override the default cursor start position for Mouse Clicks. In the case above, the user cannot enter numbers unless they specifically click the start of the Mask; users find that confusing...
The purpose of the above code is to be able to set the cursor start position "on-click", rather than only on Enter, which the existing SelectionStart property doesn't achieve.
Then we programmers could just set the properties and be done with it, and any subscriptions to the Click event would work as expected ->
public Form1() { InitializeComponent(); var customControl = new RadMaskedEditBoxV2() { MaskType = MaskType.Standard, Mask = "000000", PromptChar = '#', SelectionLength = 0, SelectionStart = 0, EnableSelectionStart_MouseClick = true, SelectionLength_MouseClick = 6, SelectionStart_MouseClick = 0 }; this.Controls.Add(customControl); }
public class RadMaskedEditBoxV2 : Telerik.WinControls.UI.RadMaskedEditBox { public RadMaskedEditBoxV2() : base() { this.EnableSelectionStart_MouseClick = false; this.MaskedEditBoxElement.TextBoxItem.Click += SelectionStartMouseClick_OnClick; } public new event EventHandler Click { add { base.MaskedEditBoxElement.TextBoxItem.Click += value; } remove { base.MaskedEditBoxElement.TextBoxItem.Click -= value; } } protected virtual void SelectionStartMouseClick_OnClick(object sender, EventArgs e) { if (EnableSelectionStart_MouseClick) { this.SelectionStart = SelectionStart_MouseClick; this.SelectionLength = SelectionLength_MouseClick; } } public int SelectionStart_MouseClick { get; set; } public int SelectionLength_MouseClick { get; set; } public bool EnableSelectionStart_MouseClick { get; set; } }
It would also allow the programmer to set the Enter and Click SelectionLengths separately.
Regards,
-Shawn.
RadTimePicker/RadTimePickerElement should display empty text or Null text if the Value property is set to null. Workaround: Me.RadTimePicker1.NullText = "Please, enter a time!" Me.RadTimePicker1.Value = Nothing Me.RadTimePicker1.TimePickerElement.MaskedEditBox.TextBoxItem.Text = ""
For example: users should be able to enter date like this 31/02/2013 and when control lost the focus the date should convert to 28/02/2013 Resolution: This behavior could be achieved with the new FreeFormDateTimeProvider. Whit this provider user is not restricted from any mask and could enter the date in desire format. This provider is integrated in RadMakedEditBox so it can be used in RadDateTimePicker and RadTimePicker. To change default provider of RadDateTimePicker you should change the mask type of embedded RadMaskEditBox into RadDateTimePicker. For Example: this.radDateTimePicker1.DateTimePickerElement.TextBoxElement.MaskType = MaskType.FreeFormDateTime;
Keyboard input does not work in RadDateTimePicker when the Culture is ar-SA
To reproduce:
- Set SutoSize to false and resize the control vertically.
Workaround:
radMaskedEditBox1.MaskedEditBoxElement.StretchVertically = true;
Fix: RadMaskedEditBox MaskedType Numeric Mask "D" allows to enter only one digit Workaround: Change RadMaskedEditBox Mask from "D" to "D0"
RadDateTimePicker/RadDateTimePickerElement should display empty text if the Value property is set to null.
It's not possible to set using code not UI the RadTimePicker.Value when RadTimePicker.ReadOnly = true
NullabeValue property is set to 1/1/0001 instead of NULL when user delete the date and date is equal to NullDate.
Please refer to the following code snippet:
public Form1()After running the application and try to enter "123". You will notice that you can enter only "1".
Hello,
I have noticed a bug in the Autocompletebox.
When the Autocompletebox.Multiline is enabled and setting the text to an item with multiple delimiters where the items are shown on multiple lines (see image).
When clicking on one of the items in line 2 or 3, the value e.selectionstart returned on the Selectionchanged-event has a wrong value.
On line 2 the e.selectionstart is 1 too much
Imports Telerik.WinControls.UI Public Class RadForm1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim str As String = "Item 1;Item 2;Item 3;Item 4;Item 5;Item 6;Item 7;Item 8;Item 9;Item 10;" RadAutoCompleteBox1.Multiline = True RadAutoCompleteBox1.Text = str End Sub Private Sub RadAutoCompleteBox1_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles RadAutoCompleteBox1.SelectionChanged Dim SelectedItem As String = RadAutoCompleteBox1.Text.Substring(e.SelectionStart, e.SelectionLength) Debug.Print(SelectedItem) End Sub End Class
Use the following code snippet:
this.radMaskedEditBox1.Mask = "99/99/99/99/99/99";
this.radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Standard;
this.radMaskedEditBox1.PromptChar = ' ';
((StandartMaskTextBoxProvider)this.radMaskedEditBox1.MaskedEditBoxElement.Provider).TryGetStandardProvider().InsertKeyMode = InsertKeyMode.Overwrite;
When the cursor is just before the last "/", if you enter a number, then the cursor does not move after this last "/". Then entering another digit overwrites the last digit typed.
If you set MaskType to Standard and Mask to ">LLL_LLL_LLL" and set the TextMaskFormat property to ExcludePromptAndLiterals, the result value property will be an empty string.
When users select the "Ignore All" on the certain word the other ocupation of this word still market as wrong.
If I set a RadSpinEditor.Hexadecimal to true, then false without reading the value, the value will steadily increase. Workaround: public class MySpinEditor : RadSpinEditor { public new bool Hexadecimal { get
When NumberFormat.NumberDecimalSeparator is same with NumberFormat.CurrencyGroupSeparator numbers cannot be edited and deleted. As a workaround set these separators to different values.
Set the format:
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "dd/MM/yyyy";
Enter 18 in the yaer part, the year should be set to 2018, the year should be cleared when starting to type as well.
The RadMaskedEditBox wil throw an exception if set the custom culture with empty CurrencySymbol and MaskType is set to Numeric. Workaround: Set the CurrencySimbol to space char: cultureInfo.NumberFormat.CurrencySymbol = " " this.radMaskedEditBox1.Culture = cultureInfo
Use the TextChanged event instead