入力可能な文字種のほか、IMEモードや改行コードの取り扱い、最大文字数を設定できます。最大文字数のカウント方法は、文字単位かバイト単位かを選択できます。※Chrome、SafariではIMEモードの設定は無効となります。
using GrapeCity.Web.Input.Core; using System; public partial class Format_GcTextBox : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { GcComboBox1.SelectedIndex = 0; GcComboBox2.SelectedIndex = 0; } } protected void Button1_Click(object sender, EventArgs e) { // 書式を設定します。 string strFormat = ""; foreach (GrapeCity.Web.Input.IMList.ListItem item in GcListBox1.CheckedItems) { strFormat += item.Text; } GcTextBox1.Format = strFormat; // 自動変換機能を設定します。 GcTextBox1.AutoConvert = CheckBox1.Checked; // IMEモードを設定します。 GcTextBox1.ImeMode = (ImeMode)GcComboBox1.SelectedIndex; // 改行コードの扱いを設定します。 GcTextBox1.AcceptsCrLf = (CrLfMode)GcComboBox2.SelectedIndex; // 最大文字数および単位を設定します。 GcTextBox1.MaxLength = (int)GcNumber1.Integer; GcTextBox1.LengthAsByte = bool.Parse(RadioButtonList1.SelectedValue); } }
Partial Class Format_GcTextBox Inherits System.Web.UI.Page Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then GcComboBox1.SelectedIndex = 0 GcComboBox2.SelectedIndex = 0 End If End Sub Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click ' 書式を設定します。 Dim strFormat As String = "" For Each item As GrapeCity.Web.Input.IMList.ListItem In GcListBox1.CheckedItems strFormat += item.Text Next GcTextBox1.Format = strFormat ' 自動変換機能を設定します。 GcTextBox1.AutoConvert = CheckBox1.Checked ' IMEモードを設定します。 GcTextBox1.ImeMode = GcComboBox1.SelectedIndex ' 改行コードの扱いを設定します。 GcTextBox1.AcceptsCrLf = GcComboBox2.SelectedIndex ' 最大文字数および単位を設定します。 GcTextBox1.MaxLength = GcNumber1.Integer GcTextBox1.LengthAsByte = RadioButtonList1.SelectedValue End Sub End Class
<%@ page title="" language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="Format_GcTextBox, App_Web_fdb404xk" stylesheettheme="SkinFile" %> <%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMEdit" tagprefix="im_edit" %> <%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMList" tagprefix="im_list" %> <%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMCombo" tagprefix="im_combo" %> <%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMNumber" tagprefix="im_number" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <script type="text/javascript"> // 文字種の設定 function GcListBox1_ItemCheck(sender, eArgs) { if (!document.getElementById("isClient").checked) return; var format = ""; var list = sender.GetCheckedItems(); for (i = 0; i < list.length; i++) { format += list[i].GetText(); } FindIMControl("<%=GcTextBox1.ClientID%>").SetFormat(format); } // 指定した文字に自動変換するかどうかを設定します。 function AutoConvert(obj) { if (!document.getElementById("isClient").checked) return; FindIMControl("<% =GcTextBox1.ClientID %>").SetAutoConvert(obj.checked); } // IMEモードを設定します。 function GcComboBox1_SelectedIndexChanged(sender, eArgs) { if (!document.getElementById("isClient").checked) return; FindIMControl("<% =GcTextBox1.ClientID %>").SetImeMode(sender.GetSelectedItem().SubItems[1].GetValue()); } // 改行コードの扱いを設定します。 function GcComboBox2_SelectedIndexChanged(sender, eArgs) { if (!document.getElementById("isClient").checked) return; FindIMControl("<% =GcTextBox1.ClientID %>").SetAcceptsCrlf(sender.GetSelectedItem().SubItems[1].GetValue()); } // 最大文字数を設定します。 function GcNumber1_ValueChanged(sender, eArgs) { if (!document.getElementById("isClient").checked) return; FindIMControl("<% =GcTextBox1.ClientID %>").SetMaxLength(sender.GetValue()); } // 最大文字数のカウント方法を設定します。 function LengthAsByte(obj) { if (!document.getElementById("isClient").checked) return; var lengthasbyte; var radio = obj.getElementsByTagName("input"); for (var i = 0; i < radio.length; ++i) { if (radio[i].checked) { lengthasbyte = radio[i].value; } } FindIMControl("<% =GcTextBox1.ClientID %>").SetLengthAsByte(lengthasbyte); } </script> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <div class="sample"> <table> <tr> <th>入力確認</th> </tr> <tr> <td> <im_edit:GcTextBox ID="GcTextBox1" runat="server" HasLoadFromXml="True" Width="300px"></im_edit:GcTextBox> </td> </tr> </table> </div> <label style="font-size:80%;"><input type="checkbox" id="isClient" checked="checked" /> クライアント側の設定を有効にする</label> <table class="inputTable"> <tr> <th class="inputTh">文字種の設定</th> <td class="inputTd" colspan="2"> <im_list:GcListBox ID="GcListBox1" runat="server" HasLoadFromXml="True" CheckBoxes="True" Width="380px"> <ClientEvents ItemCheck="GcListBox1_ItemCheck" /> <ListHeaderPane Visible="True" /> <DefaultColumn AutoWidth="True" Header-AllowResize="True" /> <listcolumn autowidth="True" header-text="書式"></listcolumn> <listcolumn header-allowresize="True" header-text="説明"></listcolumn> <listitem></listitem> <subitem index="0" value="A"></subitem> <subitem index="0" value="[全角]大文字のアルファベット"></subitem> <listitem></listitem> <subitem index="1" value="A"></subitem> <subitem index="1" value="[半角]大文字のアルファベット"></subitem> <listitem></listitem> <subitem index="2" value="a"></subitem> <subitem index="2" value="[全角]小文字のアルファベット"></subitem> <listitem></listitem> <subitem index="3" value="a"></subitem> <subitem index="3" value="[半角]小文字のアルファベット"></subitem> <listitem></listitem> <subitem index="4" value="K"></subitem> <subitem index="4" value="[全角]カタカナ(促音・拗音の小書き表記あり)"></subitem> <listitem></listitem> <subitem index="5" value="K"></subitem> <subitem index="5" value="[半角]カタカナ(促音・拗音の小書き表記あり)"></subitem> <listitem></listitem> <subitem index="6" value="N"></subitem> <subitem index="6" value="[全角]カタカナ(促音・拗音の小書き表記なし)"></subitem> <listitem></listitem> <subitem index="7" value="N"></subitem> <subitem index="7" value="[半角]カタカナ(促音・拗音の小書き表記なし)"></subitem> <listitem></listitem> <subitem index="8" value="9"></subitem> <subitem index="8" value="[全角]数字"></subitem> <listitem></listitem> <subitem index="9" value="9"></subitem> <subitem index="9" value="[半角]数字"></subitem> <listitem></listitem> <subitem index="10" value="#"></subitem> <subitem index="10" value="[全角]数字および数字関連記号"></subitem> <listitem></listitem> <subitem index="11" value="#"></subitem> <subitem index="11" value="[半角]数字および数字関連記号"></subitem> <listitem></listitem> <subitem index="12" value="@"></subitem> <subitem index="12" value="[全角]記号"></subitem> <listitem></listitem> <subitem index="13" value="@"></subitem> <subitem index="13" value="[半角]記号"></subitem> <listitem></listitem> <subitem index="14" value="B"></subitem> <subitem index="14" value="[全角]2進数"></subitem> <listitem></listitem> <subitem index="15" value="B"></subitem> <subitem index="15" value="[半角]2進数"></subitem> <listitem></listitem> <subitem index="16" value="X"></subitem> <subitem index="16" value="[全角]16進数"></subitem> <listitem></listitem> <subitem index="17" value="X"></subitem> <subitem index="17" value="[半角]16進数"></subitem> <listitem></listitem> <subitem index="18" value="S"></subitem> <subitem index="18" value="[全角]空白文字"></subitem> <listitem></listitem> <subitem index="19" value="S"></subitem> <subitem index="19" value="[半角]空白文字"></subitem> <listitem></listitem> <subitem index="20" value="J"></subitem> <subitem index="20" value="ひらがな(促音・拗音の小書き表記あり)"></subitem> <listitem></listitem> <subitem index="21" value="G"></subitem> <subitem index="21" value="ひらがな(促音・拗音の小書き表記なし)"></subitem> <listitem></listitem> <subitem index="22" value="Z"></subitem> <subitem index="22" value="空白文字以外のすべての全角文字"></subitem> <listitem></listitem> <subitem index="23" value="^T"></subitem> <subitem index="23" value="サロゲート ペア文字以外"></subitem> <listitem></listitem> <subitem index="24" value="D"></subitem> <subitem index="24" value="空白文字以外の2バイト文字"></subitem> <listitem></listitem> <subitem index="25" value="I"></subitem> <subitem index="25" value="JIS X 0208文字で構成された文字"></subitem> <listitem></listitem> <subitem index="26" value="M"></subitem> <subitem index="26" value="Shift JIS文字で構成された文字"></subitem> <listitem></listitem> <subitem index="27" value="^V"></subitem> <subitem index="27" value="IVS(Ideographic Variation Sequence)文字以外"></subitem> <listitem></listitem> <subitem index="28" value="H"></subitem> <subitem index="28" value="空白文字以外のすべての半角文字"></subitem> <helpvalue ></helpvalue> </im_list:GcListBox> </td> </tr> <tr> <th class="inputTh">自動変換</th> <td class="inputTd" colspan="2"> <asp:CheckBox ID="CheckBox1" runat="server" Checked="True" Text="指定した文字にあわせて自動的に変換する" onclick="AutoConvert(this);" /> </td> </tr> <tr> <th class="inputTh">IMEモード</th> <td colspan="2" class="inputTd"> <im_combo:GcComboBox ID="GcComboBox1" runat="server" DropDownStyle="DropDownList" HasLoadFromXml="True" Width="200px"> <clientevents selectedindexchanged="GcComboBox1_SelectedIndexChanged"></clientevents> <comboitem></comboitem> <subitem index="0" value="設定なし"></subitem> <subitem index="0" value="auto"></subitem> <comboitem></comboitem> <subitem index="1" value="日本語入力"></subitem> <subitem index="1" value="active"></subitem> <comboitem></comboitem> <subitem index="2" value="半角英数入力"></subitem> <subitem index="2" value="inactive"></subitem> <comboitem></comboitem> <subitem index="3" value="使用不可"></subitem> <subitem index="3" value="disabled"></subitem> <helpvalue ></helpvalue> </im_combo:GcComboBox> </td> </tr> <tr> <th class="inputTh">改行コードの扱い</th> <td colspan="2" class="inputTd"> <im_combo:GcComboBox ID="GcComboBox2" runat="server" HasLoadFromXml="True" DropDownStyle="DropDownList" Width="200px"><clientevents selectedindexchanged="GcComboBox2_SelectedIndexChanged"></clientevents> <ListBox width="220" /> <comboitem></comboitem> <subitem index="0" value="そのまま使用"></subitem> <subitem index="0" value="nocontrol"></subitem> <comboitem></comboitem> <subitem index="1" value="すべての改行コードを削除"></subitem> <subitem index="1" value="filter"></subitem> <comboitem></comboitem> <subitem index="2" value="改行コード以降の文字列を切り取り"></subitem> <subitem index="2" value="cut"></subitem> <helpvalue ></helpvalue> </im_combo:GcComboBox> </td> </tr> <tr> <th class="inputTh">最大文字数</th> <td class="inputTd" style="border-right:0; width:100px;"> <im_number:GcNumber ID="GcNumber1" runat="server" HasLoadFromXml="True" MinValue="0" Width="80px"> <clientevents valuechanged="GcNumber1_ValueChanged"></clientevents> <DropDown Visible="False" Enabled="false"/><Spin Visible="True" /> <helpvalue value = "0" ></helpvalue> </im_number:GcNumber> </td> <td class="inputTd" style="border-left:0"> <asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal" CellPadding="2" CellSpacing="2" onchange="LengthAsByte(this);"> <asp:ListItem Selected="True" Value="false"> 文字単位 </asp:ListItem> <asp:ListItem Value="true"> バイト単位 </asp:ListItem> </asp:RadioButtonList> </td> </tr> </table> <center> <asp:Button ID="Button1" runat="server" CssClass="button_nowidth" Text="サーバー側で設定" onclick="Button1_Click" /> </center> </asp:Content>