Une image claire sur picturebox

Comment puis-je effacer une image sur picturebox? La suite ne m'aide pas:

pictbox.Image = null;
pictbox.Invalidate();

s'il vous Plaît aider.

EDIT

private void pictbox_Paint(object sender, PaintEventArgs e) 
{ 
     Graphics g = e.Graphics; 
     vl.Draw(g, ref tran.realListForInsert); 
} 

public void Draw(Graphics g, ref List<double> arr) 
{ 
    g.DrawRectangle(new Pen(Brushes.Red, 3), nodeArr[Convert.ToInt32(templstName)].pict.Location.X, nodeArr[Convert.ToInt32(templstName)].pict.Location.Y, 25, 25); 
    g.DrawRectangle(new Pen(Brushes.Green, 3), nodeArr[Convert.ToInt32(templstArgName)].pict.Location.X, nodeArr[Convert.ToInt32(templstArgName)].pict.Location.Y, 25, 25); 
    nodeArr[Convert.ToInt32(templstName)].text.Text = arr[Convert.ToInt32(templstArgName)].ToString(); 
    arr[Convert.ToInt32(templstName)] = arr[Convert.ToInt32(templstArgName)]; 
} 
32
demandé sur Uwe Keim 2011-05-02 14:45:33

12 réponses

comme d'autres l'ont dit, définir le Image propriété null ça devrait marcher.

Si ça ne marche pas, il pourrait signifier que vous avez utilisé l' InitialImage propriété pour afficher votre image. Si c'est effectivement le cas, essayez de définir la propriété null au lieu de:

pictBox.InitialImage = null;
32
répondu Frédéric Hamidi 2011-05-02 10:57:36

Image propriété null fonctionnent très bien. Il effacera quelle que soit l'image actuellement affichée dans la zone d'image. Assurez-vous que vous avez écrit le code exactement comme ceci:

picBox.Image = null;
25
répondu Cody Gray 2011-05-02 10:48:09
if (pictureBox1.Image != null)
{
    pictureBox1.Image.Dispose();
    pictureBox1.Image = null;
}
9
répondu Grant Li 2018-09-02 22:10:58

je suppose que vous voulez effacer les Images dessinées via PictureBox.

ceci serait réalisé via un objet Bitmap et en utilisant un objet Graphics. vous pourriez faire quelque chose comme

Graphics graphic = Graphics.fromimage(pictbox.Image);
graphic.Clear(Color.Red)//Color to fill the background and reset the box

Est-ce ce que vous cherchiez ?

EDIT

puisque vous utilisez la méthode de la peinture ce qui causerait de le redessiner à chaque fois, je vous suggérerais de mettre un drapeau au niveau de la forme indiquant si elle devrait ou non peindre le Picturebox

private bool _shouldDraw = true;
public bool ShouldDraw
{
    get { return _shouldDraw; }
    set { _shouldDraw = value; }
}

Dans votre peinture suffit d'utiliser

if(ShouldDraw)
  //do your stuff

Lorsque vous cliquez sur le bouton définir cette propriété sur false et vous devriez être bien.

4
répondu V4Vendetta 2011-05-03 06:23:09
private void ClearBtn_Click(object sender, EventArgs e)
{
    Studentpicture.Image = null;
}
4
répondu user1608207 2012-09-14 19:47:43
pictBox1.Image = null;

Cela fonctionne sur moi. Le premier truc ne marche pas sur mon projet.

2
répondu CHRistian 2016-05-25 09:58:45

Vous avez besoin de ce qui suit:

pictbox.Image = null;
pictbox.update();
2
répondu stacktay 2017-09-26 17:01:39

j'ai eu une image têtue aussi, qui ne voulait pas s'en aller en réglant l'Image et L'InitialImage à null. Pour supprimer l'image de la pictureBox pour de bon, j'ai dû utiliser le code ci-dessous, en appelant Application.DoEvents() à plusieurs reprises:

            Application.DoEvents();
            if (_pictureBox.Image != null)
                _pictureBox.Image.Dispose();
            _pictureBox.Image = null;
            Application.DoEvents();
            if (_pictureBox.InitialImage != null)
                _pictureBox.InitialImage.Dispose();
            _pictureBox.InitialImage = null;
            _pictureBox.Update();
            Application.DoEvents();
            _pictureBox.Refresh();
0
répondu dmihailescu 2013-04-02 21:09:38

j'ai dû ajouter une instruction Refresh () après L'Image = null pour faire fonctionner les choses.

0
répondu HillbillyBlue 2014-12-15 17:56:04

Vous devriez essayer. Lorsque vous effacer vos graphiques, vous devez choisir la couleur. SystemColors.Le contrôle est la couleur native de la forme

Graphics g = pB.CreateGraphics();
g.Clear(SystemColors.Control);
-1
répondu Aleksandr Semenyuk 2015-07-16 15:53:12

effacer pictureBox en c# winform Application Simple façon de supprimer pictureBox dans l'Application c # winform

-1
répondu impossible is not possible 2018-09-02 22:05:29

C'est si simple! Vous pouvez aller avec votre événement clic du bouton, Je l'ai utilisé avec un bouton Nom de la propriété: "btnClearImage"

// Note 1a:
// after clearing the picture box 
// you can also disable clear button 
// by inserting follwoing one line of code:

btnClearImage.Enabled = false   

// Note 1b:
// you should set your button Enabled property
// to "False"
// after that you will need to Insert 
// the following line to concerned event or button
// that load your image into picturebox1 
// code line is as follows:

btnClearImage.Enabled = true;
-1
répondu impossible is not possible 2018-09-03 02:22:17