Jag vill att ett Form skall visas, UTAN att något annat händer innan det fönstret är stängt. För står inte riktigt, men kan du inte låsa de andra fönstrena när den nya formen är sinlig? Enligt de systemlagar som finns i Windows är just Show 1 svaret på detta. Då öppnad du fönstret som en dialog, jämför med en msgbox. Ok, men problemet är ju att jag i det fönster som öppnas, där vill jag sedan öppna ännu ett fönster som INTE skall vara en dialog. Och om man öppnar det första fönstret med .show 1, så går det inte att i det fönstret öppna ett nytt med .show. Nej, det funkar inte. Det funkar bara om man öppnar de nya fönstren som "modala" också, dvs med .show 1. Men det vill jag inte. Jag behöver ha ett "progress"-fönster, som så att säga skall ta emot info som den får från det första fönstret. Och då går det ju inte om progress-fönstret är modalt... Det blir enklare om du säger vad det är du vill utföra. Jag vill att i mitt program (som är svårt att beskriva) skall man kunna öppna ett fönster för att lägga till text (i vårt textbaserade terminalsystem). Men detta har ju inget att göra med att det inte skall gå att klicka i något annat fönster. Jag vill bara att den skall vänta kvar i själva koden, tills fönstret är stängt, och sedan fortsätta, som jag skrev ovan... Det skulle ju gå att göra en while-loop förstås, men det borde gå att lösa bättre...Form.Show, snälla hjälp!!
Jag har provat med Form.Show 1
Då funkar det, men då kan man inte ens klicka i något annat fönster. Och dessutom kan inte det öppnade fönstret öppna några nya fönster. Det blir alltså HELT låst till fönstret jag öppnade med .Show 1.
Vad finns det för bra metoder?? Jag vore hemskt tacksam om någon ville ta sig tid!Sv: Form.Show, snälla hjälp!!
Form1.Enabled = False
?Sv: Form.Show, snälla hjälp!!
Den ända saken du kan göra är att på alla andra formulär och för alla deras händelser så måste du kolla av en global variabel som kollar om ditt andra förnster är öppet: t ex
Private SpecialForm as boolean
Kanske du borde tänka om och lösa det med någon annan design istället.Sv: Form.Show, snälla hjälp!!
Så det finns inget smidigt sätt att lösa detta?
Koden är:
<code>
Form.Show
Text.text="Färdig"
</code>
Men står det så där så kör den igenom allt på en gång..Sv: Form.Show, snälla hjälp!!
Om du öppnar ett fönster med show 1 så blir det öppnade fönstret modalt och det är samma som att det fönstret har fokus tills du stänger det. Alltså kan du inte klicka i andra fönster till samma applikation för de är låsta (om du vill kunna skifta till andra fönster så får du skita i 1an). Men att du inte skulle kunna öppna nya fönster från den modala idialogen tror jag inte utan det skall funka helt utmärkt. Sv: Form.Show, snälla hjälp!!
Sv: Form.Show, snälla hjälp!!
Varför vill du öppna formuläret modalt? Vad vill du att det
nya formuläret ska utföra?
//EmmaSv: Form.Show, snälla hjälp!!
* När man klickar på "add text" så öppnas ett fönster med en tom textbox och en "ok"-knapp.
* När man trycker på "ok"-knappen så börjar den accessa terminalfönstret och klistra in texten.
* Under tiden detta händer så visas ännu ett fönster med en mätare för hur långt den har kommit med textinklistrandet. Dvs en progressbar.
* När det är färdigt så skall texten man skrev in matas in i det fönster man hade öppet.
Anledningen till att jag inte kan sätta det i "ok"-knappen är att man kommer att kunna ha flera olika fönster att klistra in text i, men bara en "klistra"-funktion.
Snälla, förstår ni nu? Jag vet att det låter krångligt...Sv: Form.Show, snälla hjälp!!
Ja minnsan fel av mig det går ju inte att öppna ett nytt fönster =/. Microsofts tips i msdn är att du skall gömma det första fönstret medans du öppnar det andra fönstret som icke modalt så du kan öppna det tredje fönstret (Grattis microsoft till första pris i tävlingen fula lösningar!!)
/hSv: Form.Show, snälla hjälp!!