BUG: WinRes 1.1 changes the ComboBox object collection data names in Visual Studio .NET 2003 (825403)



The information in this article applies to:

  • Microsoft Visual Studio .NET (2003), Professional Edition
  • Microsoft Visual Studio .NET (2003), Enterprise Developer Edition
  • Microsoft Visual Studio .NET (2003), Enterprise Architect Edition
  • Microsoft Visual Studio .NET (2003), Academic Edition

SYMPTOMS

If the ComboBox object collection data names are modified, and the resource (.resx) file is saved to a culture-sensitive string operation, the collection data names are changed.

CAUSE

Microsoft WinRes 1.1 is a Microsoft .NET software development kit (SDK) tool that localization specialists can use to localize forms. WinRes 1.1 does not recognize strings, such as "EnglishString1", that are created by Microsoft Visual Studio .NET 2003 Form Editor. Therefore, WinRes 1.1 assumes that the ComboBox control was originally empty. The resources that WinRes 1.1 saves are also not compatible with the "InitializeComponent()" code that Visual Studio .NET 2003 generates and maintains for localized forms. Because WinRes 1.1 does not recognize strings, the default resources appear instead at run time.

WORKAROUND

Do not pre-populate the ComboBox control or any other control that has items with localized strings. Instead, populate the ComboBox control or any other control that has items with localized strings at run time.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

The items in the ComboBox control may be stored as follows:

data name="ComboBox1.Items.Items1"

data name="ComboBox1.Items.Items2"

data name="ComboBox1.Items.Items3"

data name="ComboBox1.Items.Items4"

If the Items in the ComboBox control are stored as mentioned previously, after the items are saved to a new culture, the items change to the following:

data name="ComboBox1.Items.Items1"

data name="ComboBox1.Items.Items12"

data name="ComboBox1.Items.Items123"

data name="ComboBox1.Items.Items1234"

Steps to reproduce the problem

  1. Create a form that contains a ComboBox control, and then fill the ComboBox control with some string data.
  2. Run WinRes 1.1 to localize the ComboBox control data to another culture, and then save the ComboBox control data to this other culture.

    The problem that is mentioned in the "Symptoms" section may occur.

Modification Type:MinorLast Reviewed:2/3/2006
Keywords:kbvs2005doesnotapply kbvs2005swept kbtshoot kbbug KB825403 kbAudDeveloper