Should be able to generate industry-standard barcode formats.
We load a default theme and modify it in code. This works great and allows for great flexibility. The problem is that this adds a pretty substantial overhead to the application start. It would be great to have a way to save the modified theme as a file so if there are no changes to be made since the last start, we could just load this files instead of executing all the customizing code. Benefits from this approach: * Multiple developers can change the code at the same time without any conflicts. * The theme can be updated with every new Telerik version without any work on our side. * We can use different base themes and apply the same customizing without the hassle of maintaining multiple files and the danger of getting out of sync.
The ImageList property is visible in the Properties section of VisualStudio for RadTextBox, RadTextBoxControl etc.
ADD. New control which allows the users to play videos with different formats
How to reproduce: set the MinimumSize property of a RadButton in a DPI-aware app
Workaround:
Public Class RadForm1
Dim minMaxStack = New Stack(Of Dictionary(Of Control, Tuple(Of Size, Size)))()
Sub New()
InitializeComponent()
End Sub
Protected Overrides Sub HandleDpiChanged()
Dim scaleFactor As Single = 1.0F
Dim oldDpi = GetType(RadFormControlBase).GetField("oldDpi", BindingFlags.Instance Or BindingFlags.NonPublic).GetValue(Me)
Dim currentDpi = GetType(RadFormControlBase).GetField("currentDpi", BindingFlags.Instance Or BindingFlags.NonPublic).GetValue(Me)
If oldDpi <> 0 Then
scaleFactor = CSng(currentDpi) / oldDpi
ElseIf oldDpi = 0 Then
scaleFactor = CSng(currentDpi) / 96.0F
End If
If scaleFactor = 1.0F Then
Return
End If
Me.SaveMinMaxStates()
MyBase.HandleDpiChanged()
Me.RestoreMinMaxStates()
End Sub
Private Sub SaveMinMaxStates()
If Me.minMaxStack Is Nothing Then
Me.minMaxStack = New Stack(Of Dictionary(Of Control, Tuple(Of Size, Size)))()
End If
Dim minMax As New Dictionary(Of Control, Tuple(Of Size, Size))()
Dim queue As New Queue(Of Control)()
For Each ctrl As Control In Me.Controls
queue.Enqueue(ctrl)
Next
While queue.Count > 0
Dim ctrl As Control = queue.Dequeue()
If TypeOf ctrl Is RadControl Then
minMax.Add(ctrl, New Tuple(Of Size, Size)(ctrl.MinimumSize, ctrl.MaximumSize))
ctrl.MinimumSize = Size.Empty
ctrl.MaximumSize = Size.Empty
End If
For Each childControl As Control In ctrl.Controls
queue.Enqueue(childControl)
Next
End While
Me.minMaxStack.Push(minMax)
End Sub
Private Sub RestoreMinMaxStates()
Dim minMax As Dictionary(Of Control, Tuple(Of Size, Size)) = Me.minMaxStack.Pop()
Dim queue As New Queue(Of Control)()
For Each ctrl As Control In Me.Controls
queue.Enqueue(ctrl)
Next
While queue.Count > 0
Dim ctrl As Control = queue.Dequeue()
If minMax.ContainsKey(ctrl) Then
ctrl.MinimumSize = minMax(ctrl).Item1
ctrl.MaximumSize = minMax(ctrl).Item2
minMax.Remove(ctrl)
End If
For Each childControl As Control In ctrl.Controls
queue.Enqueue(childControl)
Next
End While
minMax.Clear()
End Sub
End Class
Bitdefender moved a threat to quarantine. File name: c:\program files (x86)\progress\telerik ui for winforms r3 2017\examples\medicalapp\medicalappcs\bin\medicalappcs.exe. It is recommended that you run a System Scan to make sure your system is clean.
Extract the source in a folder like this: "Telerik UI for WinForms R3 2017" Workaround: Remove the spaces in the path.
Workaround: 1. Explicitly set the font of the parent of the controls. 2. Use a custom theme with the FontSegoeUI8.25 repository: check the attached screenshot
Workaround:
1. Explicitly set the font of the checkbox with code.
this.radCheckBox1.Font = new Font("Segoe UI", 9.0f, FontStyle.Regular);
2. Use the attached custom theme.
To reproduce:
1. Add HelpProvider on the form.
2. Add RadButton(or any other RadControl).
3. Use the following code:
this.helpProvider1.SetHelpString(this.radButton1, "RadButton help message.");
this.MaximizeBox = false;
this.MinimizeBox = false;
this.HelpButton = true;
4. Run the form, click form's help button and then click the button. - Help dialog is shown and instantly closed.
Workaround:
Subscribe to the control's HelpRequested event and show a tooltip.
this.helpProvider1.SetShowHelp(this.radButton1, false);
this.radButton1.HelpRequested += Control_HelpRequested;
private void Control_HelpRequested(object sender, HelpEventArgs hlpevent)
{
Control control = sender as Control;
if (control == null)
{
return;
}
hlpevent.Handled = true;
RadToolTip tip = new RadToolTip();
tip.Show(this.helpProvider1.GetHelpString(control), 3000);
}
How to reproduce: check the attached screenshot
Workaround create a custom RadPrintPreviewDialog
public class MyRadPrintPreviewDialog : RadPrintPreviewDialog
{
protected override WatermarkPreviewDialog CreateWatermarkDialog()
{
WatermarkPreviewDialog dialog = new WatermarkPreviewDialog(this.Document);
RadPageViewPage pageText = (RadPageViewPage)dialog.Controls["radPageView1"].Controls["pageText"];
((PlusMinusEditor)pageText.Controls["plusMinusEditorTextHOffset"]).TextBox.Width = 43;
((PlusMinusEditor)pageText.Controls["plusMinusEditorTextVOffset"]).TextBox.Width = 43;
((PlusMinusEditor)pageText.Controls["plusMinusEditorTextAngle"]).TextBox.Width = 43;
((PlusMinusEditor)pageText.Controls["plusMinusEditorTextOpacity"]).TextBox.Width = 43;
RadPageViewPage pagePicture = (RadPageViewPage)dialog.Controls["radPageView1"].Controls["pagePicture"];
((PlusMinusEditor)pagePicture.Controls["plusMinusEditorImageHOffset"]).TextBox.Width = 43;
((PlusMinusEditor)pagePicture.Controls["plusMinusEditorImageVOffset"]).TextBox.Width = 43;
((PlusMinusEditor)pagePicture.Controls["plusMinusEditorImageOpacity"]).TextBox.Width = 43;
return dialog;
}
}
To reproduce: if you set in the app.manifest file <dpiAware>false</dpiAware>, the controls still scale when changing DPI.
Workaround:
Public Class RadForm1
Protected Overrides Sub OnLoad(e As EventArgs)
Dim allowTheming = DirectCast(GetType(RadForm).GetField("allowTheming", BindingFlags.Instance Or BindingFlags.NonPublic).GetValue(Me), Boolean?)
Dim behavior As ThemedFormBehavior = TryCast(Me.FormBehavior, ThemedFormBehavior)
If behavior IsNot Nothing AndAlso allowTheming.HasValue AndAlso behavior.AllowTheming <> Me.AllowTheming Then
behavior.AllowTheming = allowTheming.Value
End If
If Me.IsDesignMode Then
GetType(RadFormControlBase).GetField("initialFormLocation", BindingFlags.Instance Or BindingFlags.NonPublic).SetValue(Me, Me.Location)
Return
End If
Dim mi As MethodInfo = GetType(Form).GetMethod("OnLoad", BindingFlags.Instance Or BindingFlags.NonPublic)
Dim ptr As IntPtr = mi.MethodHandle.GetFunctionPointer()
Dim formOnOnLoad As Action(Of EventArgs) = DirectCast(Activator.CreateInstance(GetType(Action(Of EventArgs)), Me, ptr), Action(Of EventArgs))
formOnOnLoad(e)
End Sub
End Class
A pipeline control that have multi stage. Can dynamically add button (stage) to the stage list. Each stage can have two caption (Text) properties to display stage name and item in stage. Each stage also have onclick trigger.