發表文章

目前顯示的是 2月, 2009的文章

TSQL - Update指令加上Top關鍵字

今天在下update指令時突然想到能不能只update最新的一筆(當然,為什麼要這樣跟我的資料表規畫有關係..orz),想了想..瞬間當機.. 問了同事之後,總算是reboot了..趕快記起來,免的忘了.. UPDATE "表格" SET "欄位1" = [值1], "欄位2" = [值2] WHERE ("主索引" IN (SELECT TOP (1) "主索引" FROM "表格" ORDER BY "主索引" DESC)) EX: UPDATE myTable SET myFiled = 1 WHERE (PK IN (SELECT TOP (1) PK FROM myTable AS A ORDER BY PK DESC))

Transparent Label in compact framework

在.net cf(compact framework)的環境下面,label的背景沒有辦法設定為透明的,所以如果Form設定了底圖,那麼擺個Label上去就會看到白白的一塊東西在那邊,這該怎麼辦呢? 解法可以參考下面這篇 How to get Transparent Label? 他的做法大致上是下面這樣 在PictureBox或是Form上先擺上一個"不可見"的Label,也就是visable=false 設定好想要的字型跟前景顏色(forecolor)等等 利用graphic.drawstring的方式將字畫到PictureBox或是Form上面 那麼為什麼要擺放一個visable=false的Label在上面呢?直接畫不就好了?是的,直接畫當然也是可以,不過這個"不可見"的label可以幫我們"記住"很多事情,例如位置、字型、顏色等等,所以會比較方便。 下面是參考的程式碼(修改自連結中的範例程式) Dim targetOffset As Point Dim drawBounds As Rectangle Dim sizeTmp As SizeF Dim intleft As Integer Private Sub DrawLabel(ByRef labSource As Label, ByRef picTarget As Form, ByRef grx As Graphics) targetOffset = picTarget.Location drawBounds = labSource.Bounds drawBounds.X -= picTarget.Location.X drawBounds.Y -= picTarget.Location.Y If (labSource.TextAlign = ContentAlignment.TopLeft) Then grx.DrawString(labSource.Text, labSource.Font, New SolidBrush(labSource.ForeColor), drawBounds) E