2016-03-26 15 views
0

私はC#WPFで小さなアプリケーションを構築しており、ローカルのSQLデータベースを含んでいます。これは、メインウィンドウのデータグリッドに表示されます。私は、データグリッドの特定の行を編集するためにクリックすると、テキストボックス内のテキストをメインウィンドウから渡すIntに変換する際に問題が発生します。ConvertToInt32 textbox

以下は、ユーザーがクリックして編集するときに使用しているメインウィンドウのメソッドです。

editStudent edit = new editStudent(stud.Id、stud.LastName、stud.Component1、stud.Component2、 stud.Component3);

次に、editStudent.csファイルで、これは、テキストボックスとコンボボックスをmainWindowからのデータで事前に入力するコンストラクタでこれを持っています。私はすべて私はアプリを実行しようとすると、コンストラクタのキャストの例外があると言います。私はちょうどそれを行う別の方法があるのだろうか?

これは、MOのコンストラクタは次のとおりです。

public editStudent(int matno, string firstname, string lastname, string combo1, string combo2, string combo3) 
    { 
     InitializeComponent(); 

     matNoEditTbx.Text = matno; 
     firstEditTbx.Text = firstname; 
     lastEditTbx.Text = lastname; 
     com1ComboEdit.Text = combo1; 
     com2ComboEdit.Text = combo2; 
     com3ComboEdit.Text = combo3; 
    } 

Visual StudioがmatNoEditTbx.Textである第一割り当てられたテキストボックスに問題があります。

+0

これは通常、VBの背景を持つ人々が犯した誤りであるにint型に暗黙的に変換することは不可能です。文字列プロパティ(Text)に整数値(matno)を代入することはできません。あなたはあなたの変換要求に明白でなければなりません。 C#はあなたのためにそれをしません。それはさらにいいです。 – Steve

答えて

1

TextBoxのTextにintを割り当てることはできません。あなたは実行する必要があります。

matNoEditTbx.Text = matno.ToString(): 
+0

ありがとうございました。あなたは私の質問を解決しました! –

0

それは文字列

matNoEditTbx.Text = Convert.ToString(matno); 
//or : 
matNoEditTbx.Text = matno.ToString():