winUserControl dans VS2010 - propriétés ne sont pas visibles dans le concepteur de
J'ai un problème avec (je suppose) mon Visual Studio 2010 Express de l'environnement: lorsque je crée mon propre UserControl, dans Propriétés grille, je ne peux pas voir les propriétés de ce contrôle. Ils sont cependant visibles dans le projet, qui font référence à ce contrôle.
Comme il est Express Edition, je créer un nouveau projet vide, puis ajouter un nouveau contrôle utilisateur.
Ensuite, pour un test, j'ai mis de code suivant:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Project1
{
public partial class UserControl1 : UserControl
{
private int myNumber;
[Browsable(true)]
public int MyNumber
{
get
{
return myNumber;
}
set
{
myNumber = value;
}
}
public UserControl1()
{
InitializeComponent();
}
}
}
Dans VS 2008, alors que je me souviens, qui devrait être enogh pour montrer MyNumber de la propriété dans les Propriétés de la grille, même sans [Browsable(true)]
attribut. Dans VS 2010 cependant, lorsque je double-clique sur UserControl1.cs dans l'Explorateur de solutions et de regarder dans les Propriétés, je ne vois pas MyNumber.
Quand j'référence et utiliser ce contrôle dans un autre projet, il y a un accès à ses propriétés.
J'ai essayé de competly réinstaller VS 2010 environnement, y compris SP1, mais sans succès. Avez-vous une idée de ce qui peut être mauvais?
Par la route: aucun de ces attributs sont de travail, soit:
[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Bindable(true)]
Cordialement,
Marcin
OriginalL'auteur mj82 | 2011-08-16
Vous devez vous connecter pour publier un commentaire.
Je crois que ce le comportement normal de VS2010 et supposons qu'elle est par la conception. Il se comporte de même pour moi en 2010 Ultimate. Lorsque vous placez
UserControl1
sur un formulaire, vous verrez ses propriétés personnalisées.Je suppose que c'est parce que lorsque vous êtes en train de concevoir le contrôle, il n'y a pas de instance de votre contrôle encore (il n'a même pas été compilé). Ce que vous voyez est une instance de
UserControl
. Lorsque vous compilez votre contrôle, puis l'ajouter à un formulaire, le concepteur crée une instance de contrôle, de sorte que ses propriétés sont visibles et peuvent être manipulés.OriginalL'auteur Igby Largeman
Je n'ai pas utilisé le bouton [Parcourir] balise avant. Toutefois ci-dessous est un exemple de ce que j'utilise dans un de mes projets.
Je devine que vous avez besoin pour ajouter une catégorie.
Sur le dessus de Billy réponse. Vous avez également besoin de reconstruire votre projet que j'ai réalisé!
Même sans catégorie, des propriétés arbitraires devrait s'afficher sous “Divers”. Mais peut-être que cela s'applique uniquement aux VS 2013+?
OriginalL'auteur Billy
Cela ne fonctionne pas en raison de la façon dont VS poignées ascx es dans Designer. Pour plus de détails, voir cette excellente réponse sur.
Si la réponse n'est pas ce que vous attendiez, vous pouvez migrer de l' .ascx es à un Contrôle Utilisateur de la bibliothèque comme je l'ai décrit dans mon blog.
Si j'avais le choix, j'ai recommencer tous mes ascx code Personnalisé Contrôles Serveur Web.
OriginalL'auteur devio