IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

variable class MainWindows dans un usercontrol


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 23
    Par défaut variable class MainWindows dans un usercontrol
    Bonjour,

    je cherche le code en vb net pour me permettre d'utiliser une variable déclarée dans ma class MainWindows dans un usercontrol

    Merci pour votre aide.

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Ta tentative avec le code ,pour t'aider,svp !!!

  3. #3
    Membre averti
    Inscrit en
    Décembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 23
    Par défaut
    Bonjour MABROUKI,

    Voici mon code:

    Code dans la MainWindows:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Class MainWindow
     
        Private Sub IG_Click(sender As Object, e As RoutedEventArgs) Handles IG.Click
     
     
            Dim ctrl = New ViewerPDF
            Dim Host = New WindowsFormsHost
            WindowsFormsHostPDF.Child = ctrl
            Grid_PDF.Children.Add(Host)
     
        End Sub
     
    End Class
    Code dans le UserControl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Class ViewerPDF
     
        Private Sub ViewerPDF_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
            Dim fichier As String
            fichier = "c:\liste téléphonique.pdf"
     
            AxAcroPDF1.LoadFile(fichier)
     
     
        End Sub
    End Class
    Comment faire pour que ma variable "fichier" soit déclarer dans la MainWindows et utiliser dans le UserControl ?

    Merci pour ton aide.

  4. #4
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Citation Envoyé par foudhil92 Voir le message
    Comment faire pour que ma variable "fichier" soit déclarer dans la MainWindows et utiliser dans le UserControl ?
    Tu dois créer un constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Class ViewerPDF
       Sub New(FileName As String)
         AxAcroPDF1.LoadFile(FileName )
       End Sub
     
       '(...)
    End Class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Class MainWindow
      Private Sub IG_Click(sender As Object, e As RoutedEventArgs) Handles IG.Click
        Dim ctrl = New ViewerPDF("c:\liste téléphonique.pdf")
        Dim Host = New WindowsFormsHost
        WindowsFormsHostPDF.Child = ctrl
        Grid_PDF.Children.Add(Host)
      End Sub
    End Class

  5. #5
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Bonjour

    Ta solution avec le "PdfViewer" (d'ou provient-il?) est archi-compliquée car si AdobeReader de Adobe est un viewer PDF gratuit et pour l'utiliser il suffit de le dropper dans le control WebBrowser de WPF ....


    Pour cela tu te pourvoit d'un usercontrol wpf :
    code xaml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    <UserControl x:Class="UserControl1"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 mc:Ignorable="d" 
                 d:DesignHeight="300" d:DesignWidth="300">
        <Grid>
            <WebBrowser x:Name="webViewer"></WebBrowser>
        </Grid>
    </UserControl>
    code behind.vb :aucun

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Public Class UserControl1
        Public Sub New()
     
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
        End Sub
    End Class
    code xaml du Form User :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <Window x:Class="Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300"
            xmlns:local="clr-namespace:WpfFoudhil" >
        <Grid x:Name="grd">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <Button 
                Grid.Row="0"
                x:Name="btn" 
                Content="button" 
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Click="btn_Click">
            </Button>
            <local:UserControl1 
                Grid.Row="1" 
                x:Name="pdfWebViewer"
     
                HorizontalAlignment="Center"  
                VerticalAlignment="Center" 
                                />
        </Grid>
    </Window>
    code behind du Form User:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Imports Microsoft.Win32
    Public Class Window1
        Private pathPDF As String = String.Empty
     
        Private Sub btn_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
            pathPDF = FileName()
            Me.pdfWebViewer.webViewer.Navigate(pathPDF)
            'Dim uri As New Uri(pathPDF)  ' si pathPDF est une adresse web
            'Me.pdfWebViewer.webViewer.Navigate(uri)
        End Sub
        Private Function FileName() As String
            Dim fname As String = String.Empty
            Dim dlgOpen As New OpenFileDialog
            dlgOpen.Filter = "files (*.pd)|*.pdf"
            If dlgOpen.ShowDialog = True Then
                fname = dlgOpen.FileName
            End If
            Return fname
        End Function
     
     
    End Class
    Tu as toutes les fonction du Reader Pdf prêtes.....

  6. #6
    Membre averti
    Inscrit en
    Décembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 23
    Par défaut
    Bonjour r.morel,

    J'ai copier coller les code que tu m'as donné mais ça marche pas je pense que j'ai oublié de faire quelque (peut-être la création du contrôleur).
    Voici le message d'erreur que j'obtiens:

    Nom : Pb1.PNG
Affichages : 3
Taille : 10,4 Ko

    Merci.

Discussions similaires

  1. variable d'application dans une classe
    Par flogreg dans le forum ASP.NET
    Réponses: 3
    Dernier message: 14/11/2007, 10h31
  2. Réponses: 1
    Dernier message: 03/04/2007, 12h02
  3. Réponses: 3
    Dernier message: 09/01/2007, 09h44
  4. Réponses: 2
    Dernier message: 15/06/2006, 14h23
  5. Réponses: 6
    Dernier message: 23/09/2005, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo