I'm looking to host the Windows Form designer outside Visual Studio and
inside my own project system within Visual Studio. I've seen several
examples from various places that demonstrate how to rehost the design
surface and provide implementations for the toolbox, property page, and other
parts of the designer.
What I'm interested in is the 'Localizable' and 'Language' properties one
can set when using the Windows Form designer inside Visual Studio. These
allow a WYSIWYG way of localizing a form. I've not seen these properties in
any of the several samples I've run across that rehost the Windows Form
designer outside the C#/VB.NET Visual Studio projects. Is this something
custom to Visual Studio, and particularly to the C# and VB.NET project
systems? Is it possible to get these features outside of Visual Studio (or
in my own project system)?
Thanks,
Notre
Currently, we are looking into this problem. We will reply here with more
information as soon as possible.
If you have any more concerns on it, please feel free to post here.
Thanks for your understanding!
Best regards,
Gary Chang
Microsoft Community Support
======================================================
PLEASE NOTE the newsgroup SECURE CODE and PASSWORD will be updated at 9:00
AM PST, February 14, 2006. Please complete a re-registration process by
entering the secure code mmpng2006 when prompted. Once you have entered the
secure code mmpng2006, you will be able to update your profile and access
the partner newsgroups.
======================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from this issue.
======================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
======================================================
I'm not real familiar with hosting the winform designer outside of the VS
IDE, but from what I could determine, this feature isn't specific to the VS
IDE or the various project systems. Originally (circa VS 2002/2003), these
properties were implemented with an IExtenderProvider added via
IExtenderProviderService.AddExtenderProvider. But with VS 2005, it appears
we now use the CodeDomLocalizationProvider to add these two properties.
Specifically, we use a customized CodeDomDesignerLoader object, and in it's
override of PerformLoad, we get an IDesignerSerializationProvider through
the LocalizationProviderService.CreateProvider if that service is
available, and if not, we create a new CodeDomeLocationProvider object.
Then add the provider via the
IDesignerSerializationManager.AddSerializationProvider() method.
At least thats what I could pick up from looking through the
implementation. :-)
You might get some additional feedback or assistance by posting to the
microsoft.public.dotnet.framework.windowsforms or
microsoft.public.dotnet.framework.windowsforms.designtime groups as well.
As this is more a winform thing that an Visual Studio thing per se.
Sincerely,
Ed Dore [MSFT]
This post is 'AS IS' with no warranties, and confers no rights.
It's actually specific to the editor factory implementation. We create a
VSCodeDomDesignerLoader via IVSMDDesignerService::CreateDesignerLoader,
then QI for IVsMDDesignerLoader on the returned ppCodeStream pointer.
Then call IVsMDDesignerLoader::Initialize to tie the loader to the text
buffer. This stuff isn't really doc'd, but you can find some comments on
these interfaces in the vsmanaged.idl.
We then call IVsMDDesignerService::CreateDesigner and then
IVSMDDesigner::get_View to retrieve the IUnknown we'll return as the
ppunkDocView of our editor.