private void loadToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                SkeletDrawInfo _sdi;
                System.IO.Stream stream = new System.IO.FileStream(ofd.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
                try
                {
                    _sdi = (SkeletDrawInfo)formatter.Deserialize(stream);
                    if (_sdi.nodes.Length == skelet.bones.Length && _sdi.relations.Length == sdi.relations.Length)
                    {
                        _sdi.sk = skelet;
                        for (int o = 0; o < _sdi.nodes.Length; o++)
                            _sdi.nodes[o].bone = skelet.bones[_sdi.nodes[o].index];
                        sdi = _sdi;
                        Invalidate();
                    }

                }
                catch (System.Runtime.Serialization.SerializationException)
                {
                    System.Windows.Forms.MessageBox.Show("Wrong file format");
                }
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.ToString());
                }
                finally
                {
                    stream.Close();
                }
            }
        }
        public SkeletonViewer(Skeleton _skel)
        {
            InitializeComponent();
            skelet = _skel;

            sdi = new SkeletDrawInfo(skelet, ClientRectangle);
        }