Esta es una publicación anterior, pero mientras busco otra cosa, veo que he encontrado la respuesta justo hoy.
cómo cambiar el tamaño DockForms
Para cambiar el tamaño de las formas, aquí es una manera que le permitirá modificarlos. Look here. Sólo pega esto en el espacio de nombres de su sub principal (pongo la mía en la parte inferior):
public class CustomFloatWindow : FloatWindow {
public CustomFloatWindow(DockPanel dockPanel, DockPane pane)
: base(dockPanel, pane) {
FormBorderStyle = FormBorderStyle.Sizable;
MaximizeBox = false;
MinimizeBox = false;
Width = 50;
}
public CustomFloatWindow(DockPanel dockPanel, DockPane pane, Rectangle bounds)
: base(dockPanel, pane, bounds) {
FormBorderStyle = FormBorderStyle.Sizable;
MaximizeBox = false;
MinimizeBox = false;
Width = 50;
}
}
public class CustomFloatWindowFactory : DockPanelExtender.IFloatWindowFactory {
public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane, Rectangle bounds) {
return new CustomFloatWindow(dockPanel, pane, bounds);
}
public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane) {
return new CustomFloatWindow(dockPanel, pane);
}
}
Y luego, para hacer que funcione, pega esto en la forma principal:
dockPanel.Extender.FloatWindowFactory = new CustomFloatWindowFactory();
Cómo mostrar el panel acoplado
para mostrar el panel de acoplamiento en el forma, usted tiene que crear una especie de forma de plantilla, y en su código, donde dice Form
, cambie a DockContent
, así:
Ahora, en una forma que desea utilizar en el panel de acoplamiento, modificar el código para tener este aspecto (nótese la DockContent
como el tipo, en vez que Form
):
namespace mynamespace{
public partial class MyForm: DockContent {
public dockform_MyForm() {
InitializeComponent();
}
private void MyForm_Load(object sender, EventArgs e) {
}
}
}
luego, para acoplarla, primero declaramos la nueva forma, y luego crearlo. Me gusta este:
//in your form main sub:
private dockform_MyForm dform_MyForm = new MyForm();
//now, somewhere in your form's class, put this:
public void showMyFormDocked() {
dform_MyForm = new MyForm();
dform_MyForm.Show(dockPanel);
}
Finalmente, para mostrar la forma, que acaba de llamar esto desde cualquier lugar:
showMyFormDocked();
Todo esto lo supe desde el estudio de los documentos de origen y tratar de reproducirlas.