Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Kontrollera om Formulär redan finns uppe

Postades av 2003-01-21 22:28:03 - Niklas Palmnert, i forum visual basic - allmänt, Tråden har 4 Kommentarer och lästs av 426 personer

Det är så att jag arbetar på ett eget litet chatt program
och det ska fungera lite som Peer 2 Peer
så d.v.s att det finns ett induviduellt fönster för varje person jag snackar med
men jag får det problemet att när jag klickar på samma person igen få jag upp två
chattrutor med samma person

hur gör jag för att programet ska kontrollera om fönstret med personen redan finns
och hur jag gör för att få det fönstret aktivt om det skulle finnas....

jag bifogar även en del av koden här...kanske kan vara till hjälp
för er

tack på förhand

<code>
Private Sub TreeView1_DblClick()
Dim chat As New chatruta 'chatruta är formen för chatt rutan
If TreeView1.SelectedItem = kontaktrub Then

Else
Load chat
chat.Show
chat.Caption = "Konversation med " & TreeView1.SelectedItem
End If
End Sub
</code>


Svara

Sv: Kontrollera om Formulär redan finns uppe

Postades av 2003-01-21 22:52:18 - Oskar Johansson

Om det inte är trådat (normalt):
gå igenom collection forms såhär
for each frmTemp in forms
if frmtemp.name = "chatruta" then
'här kan du testa och komma åt alla instanser av chatruta!
end if
next
Om det är trådat:
Spara alla nya instanser i en collection... Glöm inte att ta bort vis stängning


Svara

Sv: Kontrollera om Formulär redan finns uppe

Postades av 2003-01-24 09:14:53 - Niklas Palmnert

hmm hänger inte riktigt med :S
kan du förtydliga det för mig som om jag var typ 3 år gammal :)
jag är inte jätte bra än på Vb6


Svara

Sv: Kontrollera om Formulär redan finns uppe

Postades av 2003-01-24 13:39:16 - Oskar Johansson

OK...

jag antar att du inte har trådat ditt program (vilket är överkurs)... :)

det finns en collection som heter forms som innehåller alla laddade formulär.
<code>
Om du först deklarerar två variabler:
dim frmTemp as form 'En allmän, vilket fönster som helst
dim frmChatTemp as VAD_DITT_FÖNSTER_HETER 'Deklarerar så att du kan använda t.ex. autoocomplete

Sen loopar du igenom hela din collection:
for each frmTemp in forms 'Observera frmTemp eftersom att alla öppna fönster inte är bara chat fönstret utan även t.ex. listan med användare
if frmTemp.Name = "VAD_DITT_FÖNSTER_HETER" then 'Testar vad fönstret heter, i ditt fall: VAD_DITT_FÖNSTER_HETER
set frmChatTemp = frmTemp 'Så att du kan se alla public metoder etc.
'Här kan du kolla t.ex. frmChatTemp.ChatWith <> strToChatWith
'under förutsättning att du har deklarerat en friend eler public variabel i 'VAD_DITT_FÖNSTER_HETER som innehåller namnet på den du chattar med...
end if
next
</code>

Förstod du?


Svara

Sv: Kontrollera om Formulär redan finns uppe

Postades av 2003-01-24 13:39:54 - Andreas Hillqvist

Du bör skapa en nyckel för noderna när du lägger till dem. Gör det oxå lätt att ta bort en användare från trädet. Du kan använda ett prefix för att identifiera vilken typ av objekt du markerat.

Exempel på textnyckel:
<code>
Dim Node As Node
TreeView1.Nodes.Add , , "#Online", "Online"
Set Node = TreeView1.Nodes.Add("#Online", "Online", "U" & "Adam", "Adam")
Set Node = TreeView1.Nodes.Add("#Online", "Online", "U" & "Bengt", "Bengt")

TreeView1.Nodes.Add , , "#Offline", "Offline"
Set Node = TreeView1.Nodes.Add("#Offline", "Online", "U" & "Carl", "Carl")

TreeView1.Nodes.Remove "U" & "Adam"
</code>
Fast det är bättre att använda en nyckel som är konstant. Slipper man strul om en användare byter alias:
<code>
Dim Node As Node
TreeView1.Nodes.Add , , "#Online", "Online"
Set Node = TreeView1.Nodes.Add("#Online", "Online", "U" & 1, "Adam")
Set Node = TreeView1.Nodes.Add("#Online", "Online", "U" & 2, "Bengt")

TreeView1.Nodes.Add , , "#Offline", "Offline"
Set Node = TreeView1.Nodes.Add("#Offline", "Online", "U" & 3, "Carl")

TreeView1.Nodes.Remove "U" & 1
</code>

För att kontrollera vilka fönster som är öppna så loopar du igenom Forms Collection'en:
<code>
Dim frmForm As Form
For Each frmForm In Forms
Debug.Print frmForm.Caption
Next
</code>
Effter som den innehåller alla formulär. Så kan du begränsa sökningen genom att kolla vilken typ av formulär det är:
<code>
Dim frmForm As Form
Dim frmChat As ChatRuta
For Each frmForm In Forms
If TypeOf frmForm Is ChatRuta Then
Set frmChat = frmForm
Debug.Print frmChat.Caption
End If
Next
</code>
För att identifera vilken användare en chattruta hör till kan du lägga till en variabel som publik egenskap genom att skriva in följande kod överst i ChatRuta formuläret:
<code>
Public UserId As String
</code>
Eller om du vill ha ett ID
<code>
Public UserId As Long
</code>
Sedan kan din kod se ut något följande:
<code>
Private Sub TreeView1_DblClick()
Dim frmChat As ChatRuta
Dim frmForm As Form
Dim UserId As String
Dim SelectedItem As node
Const Prefix As String = "Konversation med "

Set SelectedItem = TreeView1.SelectedItem

If SelectedItem Is Nothing Then
Beep
Else
Select Case Left(SelectedItem, 1)
Case "U"
UserId = Mid(SelectedItem.Text, 2)
For Each frmForm In Forms
If TypeOf frmForm Is ChatRuta Then
Set frmChat = frmForm
If frmChat.UserId = UserId Then
frmForm.SetFocus
Exit For
Else
Set frmChat = Nothing
End If
End If
Next
If SelectedItem Is Nothing Then
Set frmChat = New ChatRuta
Load frmChat
frmChat.UserId = UserId
frmChat.Caption = SelectedItem.Text
frmChat.Show
End If
Case Else
Beep
End Select
End If
End Sub
</code>


Svara

Nyligen

  • 20:22 Spel
  • 17:07 Snabb och trevlig webbplats utan l
  • 17:00 Bra spelsajt med bonusar
  • 15:51 Slappna av
  • 15:17 Onlineunderhållning på fritiden
  • 11:13 Online Kasino
  • 17:57 Vart är SEO på väg till 2030?
  • 14:24 CBD regelbundet?

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 667
27 955
271 721
996
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next