Hello Nick,
No, I'm afraid I cannot replicate this. I have added a new form as the main form, and launched the other form with the drop down list from it. I can save and close the form and show a new form again with the value populated correctly.
Main.designer.vb
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial
Class
Main
Inherits
System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected
Overrides
Sub
Dispose(
ByVal
disposing
As
Boolean
)
Try
If
disposing
AndAlso
components IsNot
Nothing
Then
components.Dispose()
End
If
Finally
MyBase
.Dispose(disposing)
End
Try
End
Sub
'Required by the Windows Form Designer
Private
components
As
System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private
Sub
InitializeComponent()
Me
.RadButton1 =
New
Telerik.WinControls.UI.RadButton()
CType
(
Me
.RadButton1, System.ComponentModel.ISupportInitialize).BeginInit()
Me
.SuspendLayout()
'
'RadButton1
'
Me
.RadButton1.Location =
New
System.Drawing.Point(42, 101)
Me
.RadButton1.Name =
"RadButton1"
Me
.RadButton1.Size =
New
System.Drawing.Size(130, 24)
Me
.RadButton1.TabIndex = 0
Me
.RadButton1.Text =
"Launch Form1"
'
'Main
'
Me
.AutoScaleDimensions =
New
System.Drawing.SizeF(6.0!, 13.0!)
Me
.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me
.ClientSize =
New
System.Drawing.Size(284, 262)
Me
.Controls.Add(
Me
.RadButton1)
Me
.Name =
"Main"
Me
.Text =
"Main"
CType
(
Me
.RadButton1, System.ComponentModel.ISupportInitialize).EndInit()
Me
.ResumeLayout(
False
)
End
Sub
Friend
WithEvents
RadButton1
As
Telerik.WinControls.UI.RadButton
End
Class
Main.vb
Form1.designer.vb
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial
Class
Form1
Inherits
System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected
Overrides
Sub
Dispose(
ByVal
disposing
As
Boolean
)
Try
If
disposing
AndAlso
components IsNot
Nothing
Then
components.Dispose()
End
If
Finally
MyBase
.Dispose(disposing)
End
Try
End
Sub
'Required by the Windows Form Designer
Private
components
As
System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private
Sub
InitializeComponent()
Me
.RadDropDownList1 =
New
Telerik.WinControls.UI.RadDropDownList()
Me
.RadButton1 =
New
Telerik.WinControls.UI.RadButton()
CType
(
Me
.RadDropDownList1, System.ComponentModel.ISupportInitialize).BeginInit()
CType
(
Me
.RadButton1, System.ComponentModel.ISupportInitialize).BeginInit()
Me
.SuspendLayout()
'
'RadDropDownList1
'
Me
.RadDropDownList1.Location =
New
System.Drawing.Point(23, 43)
Me
.RadDropDownList1.Name =
"RadDropDownList1"
Me
.RadDropDownList1.ShowImageInEditorArea =
True
Me
.RadDropDownList1.Size =
New
System.Drawing.Size(190, 21)
Me
.RadDropDownList1.TabIndex = 0
Me
.RadDropDownList1.Text =
"RadDropDownList1"
'
'RadButton1
'
Me
.RadButton1.Location =
New
System.Drawing.Point(83, 84)
Me
.RadButton1.Name =
"RadButton1"
Me
.RadButton1.Size =
New
System.Drawing.Size(130, 24)
Me
.RadButton1.TabIndex = 1
Me
.RadButton1.Text =
"Save and Close"
'
'Form1
'
Me
.AutoScaleDimensions =
New
System.Drawing.SizeF(6.0!, 13.0!)
Me
.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me
.ClientSize =
New
System.Drawing.Size(284, 144)
Me
.Controls.Add(
Me
.RadButton1)
Me
.Controls.Add(
Me
.RadDropDownList1)
Me
.Name =
"Form1"
Me
.Text =
"Form1"
CType
(
Me
.RadDropDownList1, System.ComponentModel.ISupportInitialize).EndInit()
CType
(
Me
.RadButton1, System.ComponentModel.ISupportInitialize).EndInit()
Me
.ResumeLayout(
False
)
Me
.PerformLayout()
End
Sub
Friend
WithEvents
RadDropDownList1
As
Telerik.WinControls.UI.RadDropDownList
Friend
WithEvents
RadButton1
As
Telerik.WinControls.UI.RadButton
End
Class
Form1.vb
Public
Class
Form1
Private
Sub
Form1_Load(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
MyBase
.Load
Dim
list
As
New
System.Collections.Generic.List(Of Person)()
list.Add(
New
Person(1,
"Richard"
))
list.Add(
New
Person(2,
"Bob"
))
list.Add(
New
Person(3,
"Fred"
))
list.Add(
New
Person(4,
"Peter"
))
Me
.RadDropDownList1.DataSource = list
Me
.RadDropDownList1.DisplayMember =
"Name"
Me
.RadDropDownList1.ValueMember =
"Id"
Me
.RadDropDownList1.SelectedValue = My.Settings.SelectedValue
Me
.RadDropDownList1.SelectedValue = My.Settings.SelectedValue
' just text held in My.Settings (initial value was 1)
End
Sub
Private
Sub
RadButton1_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
RadButton1.Click
My.Settings.SelectedValue =
CInt
(
Me
.RadDropDownList1.SelectedValue)
Me
.Close()
End
Sub
End
Class
Public
Class
Person
Public
Property
Id
As
Integer
Public
Property
Name
As
String
Public
Sub
New
(
ByVal
id
As
Integer
,
ByVal
name
As
String
)
Me
.Name = name
Me
.Id = id
End
Sub
End
Class
If you can alter my sample to re-produce this, i'll see if I can also replicate it
Richard