最後我自己想了個比較簡單,靈活的方法:
使用listbox的drawmode.ownerdrawfixed屬性,設定itemheight=30,新增listbox1_drawitem事件
**private
static
readonly
string
connectionstring
=configurationmanager.connectionstrings[
"sqlconnstring
"].connectionstring;
private
void
form1_load(
object
sender, eventargs e)
**private
void
listbox1_drawitem(
object
sender, drawitemeventargs e)
}else
}e.drawfocusrectangle();
}以sql server2005示例資料庫adventureworks為例,新增textbox1_textchanged事件,獲取輸入關鍵字,通過模糊查詢將資料庫中的相關資訊繫結到下拉框listbox1中:
**private
void
bindlist(datatable dt)
if(dt.rows.count
<11)
else
this
.listbox1.visible
=true;}
private
datatable getdatatable(
string
s)public
static
bool
runsql(
string
strsql, sqlparameter para,
outdatatable objdatatable,
outstring
strerr)
sqlcomm.parameters.add(parm);}}
sqldataadapter sqlda
=new
sqldataadapter();
trycatch
(exception ex)
finally
if(sqlda
!=null)}
}}private
void
textbox1_textchanged(
object
sender, eventargs e)
else
}**private
void
listbox1_keydown(
object
sender, keyeventargs e)
}private
void
textbox1_keydown(
object
sender, keyeventargs e)if(
this
.listbox1.items.count
>0)
}}private
void
listbox1_mouseup(
object
sender, mouseeventargs e)
}private
void
listbox1_mousemove(
object
sender, mouseeventargs e)
if(index !=-
1&&this
.listbox1.selectedindex
!=index)
}private
intgetitemat(listbox listbox,
intx,
inty)
}return
index;
}最後的效果:
Winform實現滾動字幕
寫了個winform滾動字幕的 可以由下往上滾,由左往右滾,由右往左滾 其中可以慢慢的滾,類似led滾動螢幕 寫了乙個類以便呼叫 graphics ghf null public lablemgr label lb,string rolltext,graphics gh,string rolltyp...
C 實現建立winform
有空自己總結下 設定方法 開啟test.sln之後,在專案的屬性頁,配置屬性 鏈結器 系統 子系統 選擇 windows subsystem windows 原先為 控制台 subsystem console 然後在 配置屬性 c c 預處理器 預處理定義 去掉 console,新增 windows...
Winform 視窗圓角實現
專案需要,得把winform的視窗做成圓角,同時把標題欄等一堆東西去掉,做成如下的樣子 首先,在新建winform之後,在屬性欄中,把maximizebox和minimizebox 置為false,同時將showicon置為false,formborderstyle置為none。之後,視窗就變成一塊...