Scrollbars, fenetre fille

MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008 - 7 juil. 2005 à 11:46
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 8 juil. 2005 à 18:17
Bonjour.

Je n'arrive toujours pas a mettre des scrollbars lorsque l'image qui
s'affiche dans la fenetre est plus grande que cette fenetre.

J'ai écrit ceci pour résoudre le probleme mais l'erreur qui apparait me dit que je ne peux pas utiliser ça: >



Voila mon code:

if(bmp.Size > this.ClientSize) this.AutoScroll = true;



Comment dois je faire svp ?

25 réponses

MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
8 juil. 2005 à 11:27
Merci pour le code.

Il m'affiche bien des scrollbars dans ma fenetre maintenant.

le probleme, c'est que quand je redimentionne la fenetre qui contient
l'image, il me met une erreur non gérée. et me souligne en vert ce qui
est en vert dans le code de la form1 (form principal) ci dessous:



/// <summary>

/// Point d'entrée principal de l'application.

/// </summary>

[STAThread]

static void Main()

{

Application.Run(new Form1());

}
// il me met cette acolade en vert

private void Form1_Load(object sender, System.EventArgs e)

{

fenetreDemarrage fenetreDemarrage=new fenetreDemarrage();

fenetreDemarrage.ShowDialog();

}



// MENU OUVRIR
////////////////////////////////////////////////////////////////////////////////////



private void Ouvrir_Click(object sender, System.EventArgs e)

{

DialogResult res = OuvrirImg.ShowDialog();



if (res == DialogResult.OK)



{

//creation de la form2




Form2 frm = new Form2(OuvrirImg.FileName); //pour
obtenir l'adresse du fichier selectionné




frm.Text= OuvrirImg.FileName.Substring(
OuvrirImg.FileName.LastIndexOf( "\" ) + 1 );


frm.MdiParent =this;


frm.Show();


}

}
0
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
8 juil. 2005 à 11:42
Avant d'aller plus loin, revérifie si tu possèdes autant d'accolades
fermantes qu'ouvrantes car la disparition d'InitializeComponent(); +
bloc accolades dans constructeur : il s'agit vraisemblablement d'une
mauvaise manipulation qui peut avoir provoqué une réindentation
automatique.



Sinon, s'il n'y a pas d'erreur d'accolade, que fais-tu lors d'un redimensionnement...

(je m'absente jusqu'à ce soir, je ne vais donc pas pouvoir te répondre d'ici là)

-- AOGie --
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
8 juil. 2005 à 13:10
Il n'y a pas d'erreur d'accolade.

En fait, le probleme suivant apparait :



Cas 1: l'image est plus petite que Form2.

L'erreur apparait directement, l'image ne s'affiche meme pas dans la Form2.



Cas 2: l'image est plus grande que la form2.

L'erreur apparait que si j'etire la form2 afin d'afficher les images sans scrollbars.

En fait, c'est quand les scrollbars sont sencées disparaitre que sa bug.



Donc j'ai quelques questions:

1) Est il possible d'afficher les scrollbars si il n'y a pas de picturebox? comme j'avais fais avant?

2) Si oui, je fais comment?

3) Si non, je regle le probleme ci dessus comment?
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 42
8 juil. 2005 à 17:32
Voilà un exemple minimaliste pour te montrer comment utiliser une picture box.

using System;
using System.Drawing;
using System.Windows.Forms;


namespace Blasphemy // : )
{
public class MainForm : Form
{
private const string path = "Lena.jpg";
private PictureBox pb;


public MainForm( )
{
InitializeForm( );
}


protected override void Dispose( bool disposing )
{
try
{
if ( disposing )
{
// ...
}
}
finally
{
base.Dispose( disposing );
}
}


private void InitializeForm( )
{
this.SuspendLayout( );


pb = new PictureBox( );
pb.Location = new Point( 0, 0 );
pb.SizeMode = PictureBoxSizeMode.AutoSize;
pb.Image = new Bitmap( path );


this.Text = "Blasphemy";
this.Size = new Size( 400, 400 );
this.AutoScroll = true;
this.Controls.Add( pb );


this.ResumeLayout( false );
}


[ STAThread ]
private static void Main( )
{
Application.Run( new MainForm( ) );
}
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 59
8 juil. 2005 à 18:17
Salut,
Si le but est seulement d'afficher des scrollbars dans le cas d'une pictureBox qui est trop petite, alors il te suffit d'aller sur cette page qui explique comment faire (tout sur MSDN !!!) : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsscrollbarclassminimumtopic.asp
Je ne sais pas si ça correspond exactement à ton besoin, j'avais un peu la flegme de lire les cents milles postes de ce thread...

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0