public?class?Form1{
private?void?textBox1_MouseClick(object?sender,?MouseEventArgs?e){
MyDateType?dateType?=?new?MyDateType();
string?text?=?textBox1.Text;
string[]?str?=?text.Split(dateType.ymd,?StringSplitOptions.RemoveEmptyEntries);
IList<M_Positioning>?list?=?new?List<M_Positioning>();
for?(int?i?=?0;?i?<?str.Length;?i++)
{
if?(!string.IsNullOrEmpty(str[i].Trim()))
{
if?(i?==?0)
{
M_Positioning?model?=?new?M_Positioning(0,?str[i].Length?+?1);
list.Add(model);
}
else
{
int?str_Index?=?text.IndexOf(str[i?-?1])?+?str[i?-?1].Length?+?1;
if?(i?==?str.Length?-?1)?str_Index?+=?1;
M_Positioning?model?=?new?M_Positioning(str_Index,?str_Index?+?str[i].Length?+?1);
list.Add(model);}
}
}
int?mouse_Index?=?textBox1.GetCharIndexFromPosition(new?System.Drawing.Point(e.X,?e.Y));
foreach?(M_Positioning?p?in?list)
{
if?(p.Index?<?mouse_Index?&&?p.End?>?mouse_Index)
{
textBox1.Select(p.Index,?p.End?-?p.Index?-?1);
break;
}
}
}
public?class?MyDateType
{
public?string[]?ymd?=?new?string[]?{?"年",?"月",?"日",?"?"?};
}
#region?定位
///?<summary>
///?定位
///?</summary>
public?class?M_Positioning
{
private?int?m_Index;
///?<summary>
///?起始坐標
///?</summary>
public?int?Index
{
get?{?return?m_Index;?}
set?{?m_Index?=?value;?}
}
private?int?m_End;
///?<summary>
///?結束坐標
///?</summary>
public?int?End
{
get?{?return?m_End;?}
set?{?m_End?=?value;?}
}
public?M_Positioning(int?index,?int?end)
{
this.m_Index?=?index;
this.m_End?=?end;
}
}
#endregion
}