Come sarebbe possibile generare un nuovo modulo, ad es. Form2
da Form1
, ma assicurarsi che Form2
è adiacente al Form1
, ad esempio:Mostra un altro modulo adiacente a quello generato da C#
8
A
risposta
4
Provare a gestire l'evento LocationChanged
del modulo principale.
demo Semplice:
public partial class Form1 : Form {
Form2 f2;
public Form1() {
InitializeComponent();
this.LocationChanged += new EventHandler(Form1_LocationChanged);
}
private void button1_Click(object sender, EventArgs e) {
f2 = new Form2();
f2.StartPosition = FormStartPosition.Manual;
f2.Location = new Point(this.Right, this.Top);
f2.Height = this.Height;
f2.Show();
}
void Form1_LocationChanged(object sender, EventArgs e) {
if (f2 != null)
f2.Location = new Point(this.Right, this.Top);
}
}
6
Qualcosa di simile:
// button click handler method
Form2 child = new Form2();
child.Location = new Point(this.Location.X + this.Width,
this.location.Y);
child.Show();
Prendere la coordinata X della posizione dell'oggetto forma attuale e aggiungere la larghezza della forma, ottenendo così la coordinata X della nuova forma. La coordinata Y rimane la stessa.
3
public partial class Form1 : Form
{
Form2 frm2;
public Form1()
{
InitializeComponent();
frm2 = new Form2(this);
frm2.Show();
}
}
E:
public partial class Form2 : Form
{
Form1 frm1;
public Form2(Form1 frm1)
{
InitializeComponent();
this.frm1 = frm1;
frm1.Move += new EventHandler(Form1_Move);
}
void Form1_Move(object sender, EventArgs e)
{
this.Location = new Point(frm1.Location.X + frm1.Width, frm1.Location.Y);
}
}
EDIT: (A causa di un commento)
Per rendere Form1
seguire Form2
pure, aggiunge:
Move += new EventHandler(Form2_Move);
Per Form2
's costruttore .
E:
void Form2_Move(object sender, EventArgs e)
{
frm1.Location = new Point(Location.X - frm1.Width, Location.Y);
}
nella sua classe.
3
Forse questo ti aiuterà. Button1 è su form1
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.StartPosition = FormStartPosition.Manual;
form2.SetDesktopLocation(this.Location.X + this.Width, this.Location.Y);
form2.ShowDialog();
}
Problemi correlati
- 1. Override da un altro modulo
- 2. Propagazione di eventi da un modulo a un altro Modulo in C#
- 3. Come modificare una variabile del modulo da un altro modulo?
- 4. Dendrogram generato da scipy-cluster non mostra
- 5. C#: mostra la finestra di dialogo sul thread dell'interfaccia utente da un altro thread
- 6. Modulo dipendente da un altro modulo in Dagger
- 7. Progetto IntelliJ multi-modulo con Maven - Come aggiungere dipendenze da un modulo a un altro?
- 8. Come passare i valori da un modulo Modulo contatti 7 a un altro in Wordpress?
- 9. apertura di un modulo finestra da un altro modulo a livello di programmazione
- 10. Come far dipendere un modulo da un altro artefatto del modulo?
- 11. Rails: mostra il modulo da un altro modello in una vista
- 12. Utilizzo di un controller figlio da un altro modulo
- 13. Aggiungi un controllo su un modulo, da un altro thread
- 14. WPF C# - Modifica di un listbox da un altro thread
- 15. ELMAH applicationName: mostra le eccezioni registrate da un altro sito
- 16. Accesso a una variabile da un altro script C#
- 17. Come richiedere una sottomaschera da un altro modulo?
- 18. Come aggiungere un controllo a un pannello in un modulo da un altro controllo utente
- 19. Come aggiungere un badge al sistema generato "Altro" UITabBarItem
- 20. Cercando di chiudere un modulo dopo quello successivo viene mostrato in C# cf
- 21. Creazione di un modulo ereditato da un altro modulo in Ruby
- 22. C# - Riferimento a un tipo in un assieme generato dinamicamente
- 23. Come ottenere il modulo Html generato HtmlGenericControl
- 24. Come sospendere un altro thread (non quello corrente)?
- 25. Nascondi elemento, ma mostra contenuto generato CSS
- 26. Come chiamare il layout xml da un altro modulo
- 27. Importa una variabile di classe da un altro modulo
- 28. Angolare 2: definizione di un router su un altro componente rispetto a quello avviato
- 29. Impostazione del valore iniziale di un campo struct a quello di un altro in Go
- 30. Perché un modulo non può essere salvato fino a quando non viene caricato un altro modulo?
I moduli hanno una proprietà ['Location'] (http://msdn.microsoft.com/en-us/library/ms159414.aspx). Questo aiuta? –
@Cody Gray Sì, grazie – Mike