自定義文字框控制項,包含Name跟ID

2022-03-20 12:33:53 字數 998 閱讀 1465

我們專案需要開發乙個特殊的文字框,當點選文字框的時候彈出乙個產品的視窗,選擇乙個產品之後,視窗關閉,把產品的名稱跟產品的標識儲存在文字框中,單擊儲存按鈕處理單擊事件的後台程式可以獲取到選中產品的標識。

有了這樣的需求後,讓我們來開始設定這個控制項。

第一步:在原有的textbox進行擴充套件

public class selectproducteditor : textbox

第二步:就是要考慮如何儲存選中產品的標識了。這裡我們是動態新增乙個textbox,讓它來保持選中產品的標識。

private textbox txtproductid;

///

/// 動態新增乙個textbox,讓它來保持選中產品的標識

///

///

protected override void oninit(eventargs e)

txtproductid.id = clientid + "id";

txtproductid.attributes["style"] = "display:none;";

}第三步:就是如何得到動態生成的textbox的text。這裡我們通過過載loadpostdata,獲取動態新增textbox的回發數值。

///

///

///

///

///

///

protected override bool loadpostdata(string postdatakey, system.collections.specialized.namevaluecollection postcollection)

return base.loadpostdata(postdatakey, postcollection);

}第四步:公開乙個屬性來獲取產品標識的值

///

/// 獲取產品標識的值

///

到這裡,就可以實現乙個文字框即可以獲取產品的名稱同時也可以獲取產品的標識。

自定義控制項文字居中

繪製文字的x,y座標是baseline左端點的座標,原來一直理解為了文字的左上角,今天親測才發現,文字的x座標號計算 控制項寬度 文字寬度 2 文字的y座標計算 控制項高度 2 距離baseline的那段距離 decent ascent 2 android繪製文字時以baseline為y軸0座標線,...

上下滾動文字自定義控制項

public class verticalrollingtextview extends view private void parseattrs context context,attributeset attrs override protected void ondraw canvas can...

android 自定義兩邊對其的文字框

網上的各位大神為了實現兩邊對其,大家也算是腦洞大開,大致上為使用空格填充,或者將所有字元統一大小來實現兩邊對其。這種做法雖然很簡單,但是只能應付一些單純的場景。一旦場景複雜起來就會顯露弊端。例如文字間距忽大忽小,句末文字沒有貼邊等一些問題。俗話說得好,撿最貴的飲料瓶,裝最精緻的逼。這麼粗糙的方法當然...