程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第六講 C#圖形開發中級篇(9)

C#發現之旅第六講 C#圖形開發中級篇(9)

編輯:關於C語言

在本控件 的處理鼠標事件時,需要判斷鼠標光標下的單元格對象,事件參數提供的鼠標光標坐標是在 控件客戶區中的坐標,若直接根據這個控件客戶區坐標位置查找單元格對象,當控件發生滾 動時,這樣的操作過程是錯誤的。因此需要將鼠標的控件客戶區坐標轉換為視圖坐標,轉換 後再搜索單元格才是正確的。

控件中定義了一個InvalidateCell方法,參數是Cell類 型,該方法的功能是聲明某個單元格樣式無效,需要重新繪制。由於聲明控件部分界面無效 的方法Invalidate的參數是采用控件客戶區坐標的,而單元格位置是采用文檔視圖坐標的, 因此需要進行坐標轉換。

折射效果在圖形開發中是會經常遇到的,此處的折射效果是 比較簡單的,只是簡單的整體移位。在一些復雜的圖形用戶界面中還可能發生圖形的縮放和 旋轉,文檔視圖的不同的部分發生了不同的折射效應,此時程序處理折射效應是比較復雜的 。

完成 開發

為了開發方便,我們設置該程序為WinForm應用程序模式,編譯生成一個EXE文件 ,我們可以修改工程類型為類庫,編譯生成一個DLL文件,我們就可以把這個DLL提交給客戶 使用了。

小結

在本課程中,我們一起研究了一個稍微復雜的C#開發的圖形軟 件,相對於上一個演示軟件,這個軟件展示了更多的C#圖形編程技術,包括圖形文檔的排版 ,使用剪切矩形優化圖形繪制,理解了用戶界面的折射效應。相信大家認真學習後能身體力 行,開始能編寫一些自己的圖形軟件了。

在下一個課程中,我們將探索更為復雜的C# 圖形開發,開始學習高級圖形軟件所用到的一些開發技術。使得大家能在C#圖形開發的世界 中更自在的探索研究。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved