Je n'ai pas vu un moyen de le faire avec PropertyGrid
régulière, mais si cela ne vous dérange pas de payer, Visualhint a une offre beaucoup plus développée here - peut-être essayer.
Ceci fait le travail en utilisant la réflexion; utiliser avec précaution ...
using System;
using System.Reflection;
using System.Windows.Forms;
class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Form form = new Form();
// this bar will control the splitter
ScrollBar sb = new HScrollBar {
Minimum = 10, Maximum = 200,
Dock = DockStyle.Bottom
};
// the grid we want to control
PropertyGrid grid = new PropertyGrid {
SelectedObject = form, Dock = DockStyle.Fill
};
// add to the form
form.Controls.Add(grid);
form.Controls.Add(sb);
// event to update the grid
sb.ValueChanged += delegate {
MoveSplitterTo(grid, sb.Value);
};
Application.Run(form);
}
static void MoveSplitterTo(PropertyGrid grid, int x) {
// HEALTH WARNING: reflection can be brittle...
FieldInfo field = typeof(PropertyGrid)
.GetField("gridView",
BindingFlags.NonPublic | BindingFlags.Instance);
field.FieldType
.GetMethod("MoveSplitterTo",
BindingFlags.NonPublic | BindingFlags.Instance)
.Invoke(field.GetValue(grid), new object[] { x });
}
}
éditée réponse à montrer solution –
Acceptera la réponse que vous semblez vraiment être occupé et actif avec grille d'appui vertical à base de réflexion et WinForms généralement des choses :) Merci .. Hors sujet, Maintenant, je commence à avoir des cauchemars sur l'accrochage/la recherche de la grille de propriété de collection-vue à partir d'une autre grille de propriété avec une méthode similaire .. acclamations. –
Pour info, ce que vous décrivez est le modulaire UITypeEditor tel que CollectionEditor (juste au cas où cela aide la recherche ...) –