Skip to content

Commit 949bb34

Browse files
vladimir-krestovRussKie
authored andcommitted
Port ListControlStringCollectionEditor
Closes #1271
1 parent f93ffe5 commit 949bb34

File tree

16 files changed

+101
-1
lines changed

16 files changed

+101
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// Licensed to the .NET Foundation under one or more agreements.
2-
// Licensed to the .NET Foundation under one or more agreements.
32
// The .NET Foundation licenses this file to you under the MIT license.
43
// See the LICENSE file in the project root for more information.
54

65
using System.Runtime.CompilerServices;
76

87
[assembly: TypeForwardedTo(typeof(System.Windows.Forms.Design.ImageCollectionEditor))]
98
[assembly: TypeForwardedTo(typeof(System.Windows.Forms.Design.ImageIndexEditor))]
9+
[assembly: TypeForwardedTo(typeof(System.Windows.Forms.Design.ListControlStringCollectionEditor))]
1010
[assembly: TypeForwardedTo(typeof(System.Windows.Forms.Design.StringArrayEditor))]
1111
[assembly: TypeForwardedTo(typeof(System.Windows.Forms.Design.StringCollectionEditor))]
1212
[assembly: TypeForwardedTo(typeof(System.Windows.Forms.Design.TabPageCollectionEditor))]

src/System.Windows.Forms.Design.Editors/src/Resources/SR.resx

+3
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@
148148
<data name="ColorEditorSystemTab" xml:space="preserve">
149149
<value>System</value>
150150
</data>
151+
<data name="DataSourceLocksItems" xml:space="preserve">
152+
<value>Items collection cannot be modified when the DataSource property is set.</value>
153+
</data>
151154
<data name="DockEditorAccName" xml:space="preserve">
152155
<value>Dock Picker</value>
153156
</data>

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.cs.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.de.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.es.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.fr.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.it.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.ja.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.ko.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.pl.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.pt-BR.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.ru.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.tr.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.zh-Hans.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.Windows.Forms.Design.Editors/src/Resources/xlf/SR.zh-Hant.xlf

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
// See the LICENSE file in the project root for more information.
4+
5+
using System.ComponentModel;
6+
7+
namespace System.Windows.Forms.Design
8+
{
9+
/// <summary>
10+
/// The ListControlStringCollectionEditor override StringCollectionEditor
11+
/// to prevent the string collection from being edited if a DataSource
12+
/// has been set on the control.
13+
/// </summary>
14+
internal class ListControlStringCollectionEditor : StringCollectionEditor
15+
{
16+
public ListControlStringCollectionEditor(Type type) : base(type)
17+
{
18+
}
19+
20+
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
21+
{
22+
// If we're trying to edit the items in an object that has a DataSource set, throw an exception
23+
ListControl control = context.Instance as ListControl;
24+
if (control?.DataSource != null)
25+
{
26+
throw new ArgumentException(SR.DataSourceLocksItems);
27+
}
28+
29+
return base.EditValue(context, provider, value);
30+
}
31+
}
32+
}

0 commit comments

Comments
 (0)