Soran
C# Başka bir formdaki picturebox ı butonla yazdırmak

Soru
-
Tüm Yanıtlar
-
-
Sağa sola bulaşmadan tek hamlede de yapılabilir gibi görünüyor.
// açık olan formlar içinde dönelim foreach (Form form in Application.OpenForms.OfType<Form>().ToList()) { if (form.Name == "Form2") { // Form2'nin içindeki controller içinde dönelim foreach (Control control in form.Controls) { if (control.Name == "pictureBox1") { // pictureBox'ı ele alalım var pictureBox = control as PictureBox; // burada artık nasıl yazdırıyorsan senindir PrintDocument printDocument = new PrintDocument(); printDocument.PrintPage += (object sen, PrintPageEventArgs pea) => { Point location = new Point(100, 100); pea.Graphics.DrawImage(pictureBox.Image, location); }; printDocument.Print(); break; } } } }
TR| Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz. EN| If this is the answer to your problem, mark "Propose as Answer" and if it is helpful, you can contribute to the workig of the forum by "Voting".
-
Öncelikle yardımınız için teşekkür ederim.
Paylaştığınız kodda Form2 yazılı olan kısmı, ben yazdırmak istediğim form olan Form7 diye değiştim.Fakat butona basınca hiçbir işlem yapmıyor.
Form2 sayfasını yazdırıyor buna bir çözüm bulamadım.- Düzenleyen cengizhnx 6 Aralık 2019 Cuma 21:12
-
Öncelikle yardımınız için teşekkür ederim.
Öncelik bu Form7'nin name içeriğini yazmak gerek + Form7 açık olmalı. Eğer doğru yamışsan break point koyup adım adım izleyebilirsin, nerede takılıyorsan ona göre çözüm üretebiliriz.
Paylaştığınız kodda Form2 yazılı olan kısmı, ben yazdırmak istediğim form olan Form7 diye değiştim.Fakat butona basınca hiçbir işlem yapmıyor.
Form2 sayfasını yazdırıyor buna bir çözüm bulamadım.
TR| Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz. EN| If this is the answer to your problem, mark "Propose as Answer" and if it is helpful, you can contribute to the workig of the forum by "Voting".
-
Dediğiniz gibi Form7 açık olunca yazdırıyor.Fakat bu hazırladığım program için uygunsuz. Muhtarlık uygulaması yapıyorum ve gerekli olan belgeleri (ikametgah, nüfus sureti gibi) yazdırmak istiyorum. Datagridview de kayıtlı kişi seçiliyken o kişiye ait bilgileri belgedeki seçili alanlara yollamak istiyorum.
Link yollamaaya iznim olmadığı için :
Eğer google da cetasoft - muhtar uygulaması olarak aratırsanız somut bir örnekle daha iyi anlamış olursunuz.- Düzenleyen cengizhnx 8 Aralık 2019 Pazar 10:40
-
Dediğiniz gibi Form7 açık olunca yazdırıyor.Fakat bu hazırladığım program için uygunsuz. Muhtarlık uygulaması yapıyorum ve gerekli olan belgeleri (ikametgah, nüfus sureti gibi) yazdırmak istiyorum. Datagridview de kayıtlı kişi seçiliyken o kişiye ait bilgileri belgedeki seçili alanlara yollamak istiyorum.
Link yollamaaya iznim olmadığı için :
Eğer google da cetasoft - muhtar uygulaması olarak aratırsanız somut bir örnekle daha iyi anlamış olursunuz.Hmm, şimdi elinde Form1 içinde Datagridview var ve seçili olan içeriğin bilgisini Form2'de alıp yazdırmak istiyorsun gibi geldi bana. Bu durumda Form1'de seçili içeriği Form2'ye parametre olarak geçip yazdırmak gerekli.
public partial class Form1 : Form { public Form1() { InitializeComponent(); // bir sütun oluşturdum dataGridView1.Columns.Add("testa_column", "testa column"); // bir satır picturebox ekleyelim dataGridView1.Rows.Add(new PictureBox { // resources içinden resim yükleyelim Image = new Bitmap(WFAApp1.Properties.Resources.visual_reverse_image_search_v2_intro_1_) }); } private void button1_Click(object sender, EventArgs e) { // seçilen satırdaki hücreyi alıp var image = ((PictureBox)dataGridView1.SelectedCells[0].Value).Image; // yazdırma formunu gösterelim new Form2(image).Show(); } }
public partial class Form2 : Form { public Form2(Image image) { Image = image; InitializeComponent(); } public Image Image { get; set; } private void Form2_Load(object sender, EventArgs e) { PrintDocument printDocument = new PrintDocument(); printDocument.PrintPage += (object sen, PrintPageEventArgs pea) => { Point location = new Point(100, 100); pea.Graphics.DrawImage(Image, location); }; printDocument.Print(); } }
Bu örnekteki esas nokta seçilen hücrenin değerini diğer forma constructor'da göndermek. Sen alır id göderirsin sonra dbden çeker yazdırırsın vs sana kalmış ama mantık böyle olmalı.
TR| Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz. EN| If this is the answer to your problem, mark "Propose as Answer" and if it is helpful, you can contribute to the workig of the forum by "Voting".
-
Yinee çok teşekkür ederim. Kodunuz boş bir datagridview de yazdırıyor.
Fakat içinde veri olan bir datagridview de aşağıdaki hatayı alıyorum.1)https://i.hizliresim.com/VQJdly.png
2)https://i.hizliresim.com/4pJ4Lp.png
Bir diğer sorum , pictureboxun üzerindeki labellere datagridview daki değerlieri nasıl aktarabilirim.
https://i.hizliresim.com/Rg5MJZ.png -
Yinee çok teşekkür ederim. Kodunuz boş bir datagridview de yazdırıyor.
Fakat içinde veri olan bir datagridview de aşağıdaki hatayı alıyorum.1)https://i.hizliresim.com/VQJdly.png
2)https://i.hizliresim.com/4pJ4Lp.png
Bir diğer sorum , pictureboxun üzerindeki labellere datagridview daki değerlieri nasıl aktarabilirim.
https://i.hizliresim.com/Rg5MJZ.pngTR| Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz. EN| If this is the answer to your problem, mark "Propose as Answer" and if it is helpful, you can contribute to the workig of the forum by "Voting".