C 聊天氣泡和搜尋框的實現

2021-10-03 03:49:35 字數 2667 閱讀 9897

氣泡雖然是用的別人寫好的方法,自己做的東西很少,大多是學習

但是完成了學習程式設計以來一直的夢想,做乙個好看點的聊天介面

搜尋框介面思路:

搜尋框**實現:

提取碼:v751

注釋及說明:

頭像使用picturebox,繪製成圓形

氣泡使用圓角矩形+尖角,建立panel使用bitemap填充

最終效果:

繪製圓角矩形和圓:(學習自上面示例)

public

static

graphicspath

drawroundrect

(int x,

int y,

int width,

int height,

int radius)

//繪製圓

private

image

cutellipse

(image img,

rectangle rec,

size size)

}return bitmap;

}

窗體的resize屬性修改窗體大小

根據目前的窗體大小調整

窗體大小先設定為不可更改,以後在完善

private

void

button2_click

(object sender,

eventargs e)

else

}

搜尋框介面布局:

搜尋框最終效果:

服務端使用mono放在linux下

文字搜尋

數字搜尋

倒排索引什麼的不會弄,所以只能用正則將就一下了…

數字的搜素區別不大,只是正規表示式變一下

"\w:\d/\d/\d \d:\d:\d"

list<

string

> info =

newlist

<

string

>()

;//string pattern = @"\w[" + searchinfo + @"]\w";

string pattern =

@"\w"

+ searchinfo +

@"\w"

;foreach

(match each in regex.

matches

(history, pattern)

)//獲取索引

list<

int> indexlist =

newlist

<

int>()

;for

(int i=

0;i++i)

//獲取使用者名稱和時間資訊

arraylist nameandtime =

newarraylist()

;arraylist templist =

newarraylist()

;for

(int i =

0; i < indexlist.count;

++i)

string temp = history.

substring(0

,(int)indexlist[i]);

foreach

(match each in regex.

matches

(temp,

@"\w\:\d\/\d\/\d \d\:\d\:\d"))

nameandtime.

add(templist[templist.count -1]

);templist.

clear()

;}//重新整理歷史記錄框

redi_history.

clear()

;for

(int i=

0;i++i)

else

chatm.

changecolorhistory

(searchinfo, color.red)

;}

css實現聊天氣泡效果

css功能強大,能實現很多炫 酷的效果,今天給大家分享 用css3繪製聊天氣泡的方法 在繪製氣泡之前,先實現箭 頭的繪製,如下 效果如上圖所示 從上面的圖可以發現,在未設 置寬高的情況下,上下左右的 邊框都是乙個三角形,如果只 留下某乙個方向上的border,就可以實現三角箭頭的效果 實現css 和...

Qt的聊天氣泡

採用了qlistwidget作為聊天記錄視窗,而每一子項都為qwidget,可以在qwidget繪製自己新增的內容,比如訊息內容 頭像 名字等,主要可以顯示動態gif表情。效果圖 右邊的影象和內容顯示 elseif this show type show type time 時間顯示 void ch...

CSS 如何實現微信聊天氣泡

先來分析一下聊天氣泡 氣泡分割為兩部分,左邊的矩形,右邊的三角形 矩形的實現比較簡單 先對對右邊的三角形進行分析 如果把width,height置為0,效果則如下圖 只需要三角形,所以把border的其中一邊設定為你需要的顏色,其他三個border顏色則設定為與背景顏色相同,就得到了我們想要的三角形...