2011-04-13 6 views
3

내가 사용자가 문서 인쇄를 사용하여 인쇄 버튼 클릭하고 실제 용지에 인쇄 할 때 트 리뷰에 표시된 데이터를 인쇄 할 싶어 나는이 링크가 어떤 도움이 있는지보십시오 비주얼 스튜디오 2008TreeView를 인쇄하는 방법?

+0

내가 트리 뷰에 표시되는 데이터를 얻기 위해 외부 파일을 사용하고이 파일을 인쇄 ,, 내가이 – Omneya

답변

0

메모리 트 리뷰에서를 만든 다음 중요한 속성을 복사하여 루트 노드를 전송할 수 있습니다. 그런 다음 메모리 비트 맵을 만들고 DrawToBitmap 함수로 Treeview 내용을 그리면 페이지에 이미지를 그리고 루트 노드를 원래 위치로 복원합니다.

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
    { 
     var memtree = new TreeView(); 
     var rn = treeView1.Nodes[0]; 
     treeView1.Nodes.Remove(rn); 
     memtree.ImageList = treeView1.ImageList; 
     memtree.BorderStyle = BorderStyle.None; 
     memtree.Nodes.Add(rn); 
     memtree.ClientSize = new Size(e.MarginBounds.Width, e.MarginBounds.Height); 
     var bmp = new Bitmap(e.MarginBounds.Width, e.MarginBounds.Height); 
     memtree.DrawToBitmap(bmp, new Rectangle(0, 0, e.MarginBounds.Width-1, e.MarginBounds.Height-1)); 
     e.Graphics.DrawImage(bmp, e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width -1, e.MarginBounds.Height -1); 
     memtree.Nodes.Remove(rn); 
     treeView1.Nodes.Add(rn); 
    }