PDA

View Full Version : یک کنترل با دو متغیر



ordebehesht
جمعه 29 آذر 1392, 18:29 عصر
با سلام دنبال یه ایده میگردم میدونم سولام خنده داره فکر کنین من یه تکس باکس دارم توش یه عدد هست میخوام یه عدد دیگه توش وارد کنم با حفظ این عدد یعنی این عدد تو متغیری قرار بگیره و عدد جدید تو متغیر دیگه و حالا رو این دو کاری انجام بدم ممنون میشم اگه راهنمایی کنین

abbas.oveissi
جمعه 29 آذر 1392, 19:41 عصر
خب یکیش رو توی Tag ذخیره کن،درست فهمیدم حرفتو؟

ordebehesht
جمعه 29 آذر 1392, 20:14 عصر
میشه بیشتر توضیح بدی منظور از tag ‌که گفتی چیه

abbas.oveissi
جمعه 29 آذر 1392, 20:20 عصر
میشه بیشتر توضیح بدی منظور از tag ‌که گفتی چیه
زیاد توضیح ندادم ،دلیلش این بود که گفتم شاید ،اشتباه فهمیدم منظورتون رو :لبخند:
من برداشتم این بود که شما میخواین دو تا Value رو همزمان در یک TextBox ذخیره کنید. گفتم یکیشو میتونید توی خصوصیت Text ذخیره کنید و دیگری رو توی خصوصیت Tag.

مهرداد صفا
جمعه 29 آذر 1392, 20:28 عصر
سلام.
از Property استفاده کنید.

ordebehesht
جمعه 29 آذر 1392, 20:30 عصر
سلام.
از Property استفاده کنید.
????????????????????????????????????????
یعنی چی لینکی چیزی داشته باشین ممنون میشم منظورم رو دوستمون متوجه شدن درس متوجه شدین جناب
abbas.oveissi (http://barnamenevis.org/member.php?174698-abbas.oveissi)

از tag میشه بصورت آرایه استفاده کرد در واقع اینو تازه دارم میبینم بخاطر همین برام نامانوسه ممنون از راهنماییتون

مهرداد صفا
جمعه 29 آذر 1392, 20:49 عصر
با فرض اینکه اعداد درون Textbox با ',' جدا می شوند:

//به نام خدا
// اللهم صل علی محمد و آل محمد


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Entity;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
FirstNumber = 100;
SecondNumber = 200;

}

int FirstNumber
{
get
{
return Convert.ToInt32(textBox1.Text.Split(',').First());
}
set
{
textBox1.Text = value.ToString() + "," + textBox1.Text.Split(',').Last();
}
}

int SecondNumber
{
get{
return Convert.ToInt32(textBox1.Text.Split(',').Last());}
set{
textBox1.Text = textBox1.Text.Split(',').First() + "," + value.ToString();
}
}

private void Form1_Load(object sender, EventArgs e)
{
FirstNumber += 100;
SecondNumber -= 100;
}

}
}

ordebehesht
جمعه 29 آذر 1392, 20:54 عصر
فکر کنم من خنگ شدم نمیگیرم

مهرداد صفا
جمعه 29 آذر 1392, 20:58 عصر
کد رو امتحان کنید.

ordebehesht
جمعه 29 آذر 1392, 21:04 عصر
یه سوال این first و last بعد از متد split میاد یعنی چی

مهرداد صفا
جمعه 29 آذر 1392, 21:10 عصر
متود First (http://msdn.microsoft.com/en-us/library/bb291976%28v=vs.100%29.aspx) اولین عضو از یک IEnumerable (آرایه و یا لیست و...) را بر می گرداند و متود Last (http://msdn.microsoft.com/en-us/library/bb358775(v=vs.100).aspx) آخرین عضو آن را.

samin_panahi
جمعه 29 آذر 1392, 21:11 عصر
می خوابد وقتی عدد اول رو وارد می کنید بعد میاید عدد دوم رو وارد کنید، عدد اول هم تو تکست باکس بمونه ؟

ordebehesht
جمعه 29 آذر 1392, 21:32 عصر
می خوابد وقتی عدد اول رو وارد می کنید بعد میاید عدد دوم رو وارد کنید، عدد اول هم تو تکست باکس بمونه ؟

من در واقع یه مثال زدم یعنی من یه گررید دارم که توش ردیفی هایی دارم از اعداد وقتی که میخوام یه عدد رو تغییر بدم می خام با جایگزین کردن عدد بعدی قبلی تو یه متغیر جداگونه و بعدی تو متغیر جداگونه ریخته شه و اختلاف اون دو رو بدست بیارم

ordebehesht
دوشنبه 02 دی 1392, 22:53 عصر
دوستان اشتباه نکنین من دنبال کد یا نمونه مثال نیستم من دنبال ایده هستم خواهش میکنم کمک کنین فکر کنیدن یه متغیر حاوی عددی دارین که مقدار اولیه لازم و مقدار ثانویه رو که وارد کردیم هر دو حفظ شه چی به نظرتون می رسه

abbas.oveissi
سه شنبه 03 دی 1392, 02:59 صبح
دوستان اشتباه نکنین من دنبال کد یا نمونه مثال نیستم من دنبال ایده هستم خواهش میکنم کمک کنین فکر کنیدن یه متغیر حاوی عددی دارین که مقدار اولیه لازم و مقدار ثانویه رو که وارد کردیم هر دو حفظ شه چی به نظرتون می رسه

من جواب بقیه دوستان رو نخوندم ، که در راستای اونا صحبت کنم.ولی در رابطه با جواب خودم چون دوباره سوال کردید،یکم بیشتر توضیح میدم که ببینید بدردتون میخوره یا نه :
این لینک خود MSDN در مورد خصوصیت Tag هست = http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tag(v=vs.110).aspx
حالا توضیح خودمم اینه که Tag خصوصیتی هست که تمام کنترل های دات نت دارنش،که TextBox هم یدونه از این کنترل ها است. جنسشم از نوع Object هست.یعنی میتونید هر نوع شیء را که خواستین توش ذخیره کنید ( حالا میتونه String باشه یا یه شیء از کلاس های خودتون)،فقط باید حواستون باشه موقع استفاده Cast رو انجام بدین.
با کد هم اینجوری میتونم منظورمو نشون بدم که مثلا من یک کلاس دارم به نام Container که این شکلیه class container
{
public string value1;
public string value2;
public string value3;
}بعد توی رویداد کلیک یک دکمه اومدم خاصیت Tag رو Set کردمcontainer con=new container();
con.value1="a";
con.value2="b";
con.value3="c";
textBox1.Tag = con;و توی رویداد کلیک دکمه ی بعد اومدم از Tag استفاده کردم container con = (container)textBox1.Tag;
MessageBox.Show(con.value2);حالا دیگه خودت میدونی که این گفته ی من بدردت میخوره یا نه؟:لبخند: البته اگر توضیحی میخوای باز میدم اما ایده ی من این بود.
----------------------------------------------------------------------------------------------------------------------------------------
البته یه ایده ی دیگه ام هم دارم که تقریبا شبیه کار بالا هست اما جور دیگه پیاده سازی میشه و از ارث بری استفاده میشه.